Store model fields history
Project description
django-fields-history
A Django app that track history changes in model fields.
Important note: currently only one implementation of FieldsHistory
is supported and it's with django.contrib.postgres.fields.JSONField
which is JSONB
under the hood. So only postgresql as database is supported
Similar projects:
Main difference that those libraries keep track of changes, and this library tracks the history change.
Simple explanation:
from field_history.trackers import FieldsHistoryTracker
class SimpleModel(models.Model):
field = models.CharField(max_length=50)
field_history = FieldsHistoryTracker(fields=['field'])
obj = SimpleModel.objects.create(field='value')
assert not obj.get_field_history()
obj.field = "new_value"
obj.save()
assert obj.get_field_history()
assert obj.get_field_history()[0].value == "value"
QuickStart
Install django-fields-history
:
pip install django-fields-history
Add fields_history.postgres
to INSTALLED_APPS
(currently only
postgres implementation is supported):
INSTALLED_APPS = [
# rest of apps
"fields_history.postgres",
]
And add trackers to your models and specify fields to track:
from field_history.trackers import FieldsHistoryTracker
class YourModel(models.Model):
...
history_tracker = FieldsHistoryTracker(fields=["field1", "field2"])
And you are done.
Implementation
Every change of your fields field changes be tracked in
fields_history.models.FieldsHistory
in:
fields_history.postgres
-JSONB
postgres field
One object per save if tracked fields has been changed.
Credits
Basically this project is implemented based on django-field-history which itself used django-model-utils.
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
Built Distribution
Hashes for django-fields-history-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 948f6127f3a9f2590c8867a90837e2617a18fc7a8f5d0e6116702ec6e45a3038 |
|
MD5 | df0dbe8d478bbc8a0e68f9e01b090703 |
|
BLAKE2b-256 | a1cc91d61afd833001a6a5c1dcffb1170bf5a1e654d2ac4241091415782866ba |
Hashes for django_fields_history-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02ab554b22ea1c41c393d33f3c2644c79cd7e7870cd5f2c6e6bc8d21006aa5a1 |
|
MD5 | 7d3f7799c24ff4d720d10ec101b29d52 |
|
BLAKE2b-256 | bb4bb0146fc4af0bc152f4103772a79ab2478b859092a96d17e3004e0184d4c5 |