From ecf20dfe335d5712f769895c5daf56cc78b35e7b Mon Sep 17 00:00:00 2001 From: Jan-Jelle Kester Date: Wed, 23 Oct 2013 17:10:39 +0200 Subject: [PATCH] Small bugfix / improvement to log_update receiver --- src/auditlog/receivers.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/auditlog/receivers.py b/src/auditlog/receivers.py index 6625763..84cfde3 100644 --- a/src/auditlog/receivers.py +++ b/src/auditlog/receivers.py @@ -26,16 +26,20 @@ def log_update(sender, instance, **kwargs): Direct use is discouraged, connect your model through auditlog.registry.registry instead. """ if instance.pk is not None: - old = sender.objects.get(pk=instance.pk) - new = instance + try: + old = sender.objects.get(pk=instance.pk) + except sender.DoesNotExist: + pass + else: + new = instance - changes = model_instance_diff(old, new) + changes = model_instance_diff(old, new) - log_entry = LogEntry.objects.log_create( - instance, - action=LogEntry.Action.UPDATE, - changes=json.dumps(changes), - ) + log_entry = LogEntry.objects.log_create( + instance, + action=LogEntry.Action.UPDATE, + changes=json.dumps(changes), + ) def log_delete(sender, instance, **kwargs):