A Django app allowing the tracking of objects field in the admin site.
Project description
===============
Tracking Fields
===============
.. image:: https://travis-ci.org/makinacorpus/django-tracking-fields.png
:target: https://travis-ci.org/makinacorpus/django-tracking-fields
.. image:: https://coveralls.io/repos/makinacorpus/django-tracking-fields/badge.png?branch=master
:target: https://coveralls.io/r/makinacorpus/django-tracking-fields?branch=master
A Django app allowing the tracking of objects field in the admin site.
Requirements
------------
* Django 1.11: See older versions for earlier version of Django.
* django-cuser: Only if you want to track which user made the modifications.
Quick start
-----------
1. Add "tracking_fields" to your INSTALLED_APPS settings.
2. 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)
3. Your objects are now tracked. See the admin site for the tracking information.
4. If you want to track who does the changes, please install the ``django-cuser`` app.
5. 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)
6. 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
AUTHORS
=======
* Yann FOUILLAT (alias Gagaro) <yann.fouillat@makina-corpus.com>
|makinacom|_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
=======
LICENSE
=======
* GPLv3+
Changelog
---------
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
Tracking Fields
===============
.. image:: https://travis-ci.org/makinacorpus/django-tracking-fields.png
:target: https://travis-ci.org/makinacorpus/django-tracking-fields
.. image:: https://coveralls.io/repos/makinacorpus/django-tracking-fields/badge.png?branch=master
:target: https://coveralls.io/r/makinacorpus/django-tracking-fields?branch=master
A Django app allowing the tracking of objects field in the admin site.
Requirements
------------
* Django 1.11: See older versions for earlier version of Django.
* django-cuser: Only if you want to track which user made the modifications.
Quick start
-----------
1. Add "tracking_fields" to your INSTALLED_APPS settings.
2. 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)
3. Your objects are now tracked. See the admin site for the tracking information.
4. If you want to track who does the changes, please install the ``django-cuser`` app.
5. 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)
6. 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
AUTHORS
=======
* Yann FOUILLAT (alias Gagaro) <yann.fouillat@makina-corpus.com>
|makinacom|_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
=======
LICENSE
=======
* GPLv3+
Changelog
---------
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
Close
Hashes for django-tracking-fields-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7428b0249db12fad7c943cc1d354483763545a6bc266e152e65f939633a9c139 |
|
MD5 | ea2d09f03266290085719d1d90814ab3 |
|
BLAKE2b-256 | 739689cd79f675ece4e2c8cb90ccde3ef7b209e6fc12cc8dcd21e6174966f806 |