Django converts the timezone of DateTimeFields to UTC when the field gets saved. This makes it so when you update a model which includes a DateTimeField, and your server is running in another timezone, the AuditLog will think you changed the timestamp, while it actually is the same time, but in another timezone. This commit adds a specific check in the model_instance_diff function for DateTimeField models (and any subclasses of it), which converts the old and new values to UTC before comparing them to see if they've actually changed. It also adds tests to see if the code works properly. The extra test_setting (USE_TZ) is added because timezone support is disabled if it is not specified, this setting enables it. |
||
|---|---|---|
| docs | ||
| src | ||
| .gitignore | ||
| .travis.yml | ||
| LICENSE | ||
| MANIFEST | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
django-auditlog
Please remember that this app is still in development. Test this app before deploying it in production environments.
django-auditlog (Auditlog) is a reusable app for Django that makes logging object changes a breeze. Auditlog tries to use as much as Python and Django’s built in functionality to keep the list of dependencies as short as possible. Also, Auditlog aims to be fast and simple to use.
Auditlog is created out of the need for a simple Django app that logs changes to models along with the user who made the changes (later referred to as actor). Existing solutions seemed to offer a type of version control, which was found excessive and expensive in terms of database storage and performance.
The core idea of Auditlog is similar to the log from Django’s admin. Unlike the log from Django’s admin (django.contrib.admin) Auditlog is much more flexible. Also, Auditlog saves a summary of the changes in JSON format, so changes can be tracked easily.
Documentation
The documentation for django-auditlog can be found on http://django-auditlog.readthedocs.org. The source files are available in the docs folder.
License
Auditlog is licensed under the MIT license (see the LICENSE file for details).
Contribute
If you have great ideas for Auditlog, or if you like to improve something, feel free to fork this repository and/or create a pull request. I'm open for suggestions. If you like to discuss something with me (about Auditlog), please open an issue.