From 03def6cdb3130c4d16fdae51dbe26b701e82651b Mon Sep 17 00:00:00 2001 From: Stavros Korokithakis Date: Thu, 16 Feb 2017 05:06:12 +0200 Subject: [PATCH] Don't crash if the linked object is not in the admin (fixes #99) --- src/auditlog/mixins.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/auditlog/mixins.py b/src/auditlog/mixins.py index 49b9d07..0a554a9 100644 --- a/src/auditlog/mixins.py +++ b/src/auditlog/mixins.py @@ -2,6 +2,7 @@ import json from django.conf import settings from django.core import urlresolvers +from django.urls.exceptions import NoReverseMatch MAX = 75 @@ -26,8 +27,12 @@ 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 or obj.object_pk]) - return u'%s' % (link, obj.object_repr) + try: + link = urlresolvers.reverse(viewname, args=[obj.object_id]) + except NoReverseMatch: + return obj.object_repr + else: + return u'%s' % (link, obj.object_repr) resource_url.allow_tags = True resource_url.short_description = 'Resource'