Skip to main content

A Django utility to track changes to model instances and save the history of updates.

Project description

Django Model History Tracker

Django Model History Tracker is a utility that tracks changes to model instances and saves the history of updates. This can be helpful for auditing purposes or for generating reports about changes over time.

Features

  • Track creation, update, and deletion of model instances
  • Store historical data in a separate History model
  • Easy integration with existing Django models using a mixin

Installation

  1. Install the package using pip:

pip install django-model-history-tracker

  1. Add 'django_model_history_tracker' to your INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
    ...
    'django_model_history_tracker',
    ...
]

python manage.py migrate


 ## Usage

To use Django Model History Tracker, simply inherit the HistoryTrackerMixin in any model you want to track:

from django.db import models
from django_model_history_tracker.mixins import HistoryTrackerMixin

class ExampleModel(HistoryTrackerMixin, models.Model):
    field1 = models.CharField(max_length=100)
    field2 = models.IntegerField()

That's it! Your model will now automatically track changes and store them in the History model.


Accessing History

You can access the history of a tracked model instance using the generic relation:

history = example_model_instance.history_set.all()

Each history entry will have the following fields:

    action: The action that occurred ('create', 'update', or 'delete')
    timestamp: The timestamp of when the action occurred
    changes: A JSON field containing the changes made to the instance


Contributing

Contributions are welcome! Please feel free to submit issues or pull requests on the GitHub repository.


License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-model-history-tracker-0.2.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django-model-history-tracker-0.2.tar.gz.

File metadata

File hashes

Hashes for django-model-history-tracker-0.2.tar.gz
Algorithm Hash digest
SHA256 22090f3e40ac2ca1834fc79b3ce60ca3ba715b68fa12b47f100525fa5f8fcb9a
MD5 5c98d637162f8081869b3d67b09004ef
BLAKE2b-256 d38fb7cf359de3a9aa0064140222517a18db33295ee9f4a2ea4ebb47646be65f

See more details on using hashes here.

File details

Details for the file django_model_history_tracker-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_model_history_tracker-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 718de663232430daa87d6599815add1829929208c9f1118d0ff13fb6ae3bf380
MD5 b88933e0852b9f86ba6275fcf13ff0cf
BLAKE2b-256 d3aad4555aa7a5398adac1fabd4752108efc52544330f9235254f936b4ed53e9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page