diff options
| author | Tim Graham <timograham@gmail.com> | 2015-02-12 13:40:23 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-02-12 14:19:44 -0500 |
| commit | d64baaef3b95abe9ae5d07317c9bf4df02cb8592 (patch) | |
| tree | 6d2ca2967f2b48ba39496fc1f4acb67d3308104a /django | |
| parent | a93c5fb2bfbadd4628a2a5d6b6aecbd64bd527cb (diff) | |
Fixed #24333 -- Fixed admin history view crash with non-integer slug.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/options.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index f0fd4c1a90..06d8e417a8 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -36,7 +36,6 @@ from django.forms.models import ( from django.forms.widgets import CheckboxSelectMultiple, SelectMultiple from django.http import Http404, HttpResponseRedirect from django.http.response import HttpResponseBase -from django.shortcuts import get_object_or_404 from django.template.response import SimpleTemplateResponse, TemplateResponse from django.utils import six from django.utils.decorators import method_decorator @@ -1646,7 +1645,12 @@ class ModelAdmin(BaseModelAdmin): from django.contrib.admin.models import LogEntry # First check if the user can see this history. model = self.model - obj = get_object_or_404(self.get_queryset(request), pk=unquote(object_id)) + obj = self.get_object(request, unquote(object_id)) + if obj is None: + raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % { + 'name': force_text(model._meta.verbose_name), + 'key': escape(object_id), + }) if not self.has_change_permission(request, obj): raise PermissionDenied |
