A utility to store and access information about changes on objects in a Django project.
Installation
pip install django-changes
Add to your Python path or setup.py install and add 'changes' to your INSTALLED_APPS setting.
Usage
You can use by importing the helper:
from changes import changes # ... changes.add_change(someobj, who=request.user)
Or by using the object directly:
from changes.models import Change # ... Change.objects.add_change_for_object(someobj, why='Because')
To get a queryset of changes that were added for an objects:
changes.get_changes_for(someobj)
or:
Change.objects.get_changes_for_object(someobj)
To get a queryset of changes that were made by a user:
changes.get_changes_by(someuser)
or:
Change.objects.get_changes_by_user(someuser)
You can also do things like this:
Change.objects.all().by_user(someuser) changes.get_changes_for(someobj).anonymous()
Included is a ‘Mixin’ for your models that you expect to be recording changes on a lot that will give you the reverse relation changes:
from changes.models import ChangesMixin # ... class SomeModel(ChangesMixin, models.Model)
This mixin will give you some helpful methods:
somemodelinstance.add_change(why='Time for change') somemodelinstance.get_changes()
You can also add a change when saving:
somemodelinstance.save(changed=True, who=someuser, why='Changing')
The default behaviour is to not save a change:
somemodelinstance.save()
The mixin also omits a signal, change_added when a change is added for the object.
See the source code for more.
Need Help?
Email: rvause@gmail.com
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-changes-0.2.2.tar.gz.
File metadata
- Download URL: django-changes-0.2.2.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a755faaf6f671b88c533027fb0bd37e3dfab0a554ce7351983b98b977ab84257
|
|
| MD5 |
56880be4def1aa22b0c6e4ad2c62ddc2
|
|
| BLAKE2b-256 |
835c0616dcf627d7d5a5d02df8881c6b6532fe4daddf02ade34662ddff3278e6
|