diff --git a/src/auditlog/models.py b/src/auditlog/models.py index 94329ff..5603e27 100644 --- a/src/auditlog/models.py +++ b/src/auditlog/models.py @@ -1,3 +1,5 @@ +import json + from django.conf import settings from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType @@ -40,6 +42,11 @@ class LogEntryManager(models.Manager): return self.create(**kwargs) return None + + def get_entries_from_model(self, model): + content_type = ContentType.objects.get_for_model(model) + object_id = model.pk + return self.get_query_set().filter(content_type=content_type, object_id=object_id) class LogEntry(models.Model): @@ -93,6 +100,13 @@ class LogEntry(models.Model): return fstring.format(repr=self.object_repr) + def html_formated_changes(self): + changes_result = [] + changes_dict = json.loads(self.changes.encode('utf-8')) + for field, changes in changes_dict.items(): + changes_result.append('%s from %s to %s' % (field, changes[0], changes[1])) + return changes_result + class AuditLogHistoryField(generic.GenericRelation): """