Fixes#93 - Add 'changes_display_dict' property to 'LogEntry' model to display diff in a more human readable format
'changes_display_dict' currently handles fields with choices, long textfields and charfields, datefields, timefields, and datetimefields. Supports `django-multiselectfield` with choices and Postgres's ArrayField with choices.
Textfields and Charfields longer than 140 characters are truncated with an ellipsis appended.
Date, Time and DateTime fields are rendered according to `L10N`, or if turned off fall back on Django settings defaults for DATE_FORMAT, TIME_FORMAT and DATETIME_FORMAT.
A new kwarg was added to 'AuditlogModelRegistry' called 'mapping_fields'. The kwarg allows the user to map the fields in the model to a more human readable or intuitive name. If a field isn't mapped it will default to the `verbose_name` as defined on the model or the Django default `verbose_name`. Partial mapping is supported, all fields do not need to be mapped to use the feature.
* Add django-multiselectfield test dep
* Add psycopg2 test dep
* Add postgres testing database and router
* Add postgres support to travis builds
* Add support for multiple databases. LogEntry saves to same database of the model its associated to
* If any literal evals fail default to None
* Add support for Postgres ArrayField in changes_display_dict
* Revert to old travis image while they are fixing issues with it
* Update docs
* Add full test coverage
Fixes#110 to add support for UUID primary keys in related many to many querysets in the `get_for_objects()` method.
Forces queryset evaluation in `get_for_objects()` to cache the queryset, reducing additional db queries.
to remove the following Django Warning:
site-packages/auditlog/models.py:6: RemovedInDjango19Warning:
django.contrib.contenttypes.generic is deprecated and will be
removed in Django 1.9. Its contents have been moved to the
fields, forms, and admin submodules of
django.contrib.contenttypes.
from django.contrib.contenttypes import generic
The method name was incorrectly spelled and the method was not flexible enough. This functionality will be replaced by a more flexible method and/or a template tag.