From 38ec7de58587893e023c7581490b04cde8563e83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Esp=C3=ADndola?= Date: Thu, 26 Jan 2017 01:21:13 -0200 Subject: [PATCH 1/2] Fix the resource_url method when a model primary key is a models.UUIDField, we need to consider use the object_pk in this case. --- .gitignore | 8 +++++--- src/auditlog/mixins.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a661e32..54a2bac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ +*.db +*.egg-info *.log *.pot *.pyc -*.db -local_settings.py -.pydevproject +.idea .project +.pydevproject +local_settings.py diff --git a/src/auditlog/mixins.py b/src/auditlog/mixins.py index a63c207..1a583fd 100644 --- a/src/auditlog/mixins.py +++ b/src/auditlog/mixins.py @@ -25,7 +25,7 @@ class LogEntryAdminMixin(object): def resource_url(self, obj): app_label, model = obj.content_type.app_label, obj.content_type.model viewname = 'admin:%s_%s_change' % (app_label, model) - link = urlresolvers.reverse(viewname, args=[obj.object_id]) + link = urlresolvers.reverse(viewname, args=[obj.object_id or obj.object_pk]) return u'%s' % (link, obj.object_repr) resource_url.allow_tags = True resource_url.short_description = 'Resource' From e6ef7c5319c98e818efa0c37db27665bf780ea3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Esp=C3=ADndola?= Date: Thu, 26 Jan 2017 01:52:04 -0200 Subject: [PATCH 2/2] Use make_naive only if settings.USE_TZ is True. --- src/auditlog/diff.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/auditlog/diff.py b/src/auditlog/diff.py index d22d2e0..109657b 100644 --- a/src/auditlog/diff.py +++ b/src/auditlog/diff.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db.models import Model, NOT_PROVIDED, DateTimeField from django.utils import timezone @@ -64,7 +65,7 @@ def get_field_value(obj, field): # to its naive form before we can accuratly compare them for changes. try: value = field.to_python(getattr(obj, field.name, None)) - if value is not None: + if value is not None and settings.USE_TZ: value = timezone.make_naive(value, timezone=timezone.utc) except ObjectDoesNotExist: value = field.default if field.default is not NOT_PROVIDED else None