A Django app allowing the tracking of objects field in the admin site.
Project description
Tracking Fields
A Django app allowing the tracking of objects field in the admin site.
Requirements
Django 2.2: See older versions for earlier version of Django.
django-cuser: Only if you want to track which user made the modifications.
Quick start
Add “tracking_fields” to your INSTALLED_APPS settings.
Add the tracking_fields.decorators.track decorator to your models with the fields you want to track as parameters:
@track('test', 'm2m') class MyModel(models.Model): test = models.BooleanField('Test', default=True) m2m = models.ManyToManyField(SubModelTest, null=True)
Your objects are now tracked. See the admin site for the tracking information.
If you want to track who does the changes, please install the django-cuser app.
You can also track fields of related objects:
class MyModel(models.Model): test = models.BooleanField('Test', default=True) @track('related__test') class MyOtherModel(models.Model): related = models.ForeignKey(MyModel)
You can run the tests with tox (make sure to have django-cuser installed).
Upgrades from 0.1 or 1.0.1
The change to UUID is a mess to do in a migration. The migrations have thus been squashed. You can either alter your fields by hand and do a fake migration afterward or remove your tracking fields tables and run migrations again:
./manage.py migrate --fake tracking_fields zero ./manage.py migrate tracking_fields
FAQ
Why does my relationship change create two events ?
Please see https://docs.djangoproject.com/en/1.7/ref/models/relations/#direct-assignment
LICENSE
GPLv3+
Changelog
1.3.2 (2021-09-01)
Fix related event when there is no backward relation.
1.3.1 (2021-02-19)
Added get_object_model_verbose_name.
1.3.0 (2021-02-19)
Added get_object_model on TrackingEvent to be able to get model class in templates.
Fix deprecation warnings for Django 4.0.
Drop support for Django 2.0 and 2.1.
1.2.1 (2020-10-20)
Deferred fields are not tracked to avoid additional requests.
1.2.0 (2020-05-07)
fix ‘str’ object has no attribute ‘name’ #6
Django 3.0 compatibility
Drop support for Django 1.11
1.1.2 (2019-09-11)
added serialization for xworkflow StateWrapper
1.1.1 (2019-01-25)
Optimize admin user lookup
1.1.0 (2019-01-24)
Compatibility with Django 1.11 to 2.1
Compatibility droped for earlier versions
1.0.6
Fix unicode error in admin with Python 3.4 and django_cuser
1.0.5
Fix MANIFEST
1.0.4
Order TrackingEvent by -date
1.0.3
Fix MANIFEST
1.0.2
Include migrations in MANIFEST
1.0.0
Initial release
Project details
Release history Release notifications | RSS feed
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-tracking-fields-1.3.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca57552dc998bc4d723ce94103ccdba95175dec5be229bacf03644ff2fdfef69 |
|
MD5 | c5193e4e5eb69885d961f2e7c755d616 |
|
BLAKE2b-256 | b4ec0defd80301bfd144bac866832da985d9e481c44432c20dad952448c8f67e |
Hashes for django_tracking_fields-1.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d7980a67532dc879d945cca3c2de811befb4e977cbef1246d980cc5dbe0ab59 |
|
MD5 | 829aa5e58a031d7d94abdc3f4458e6cc |
|
BLAKE2b-256 | f0b2815bb05b49b883350105e2d855fd49d877d1d84d1298c44ba3d34ded76b1 |