Loading django/contrib/admin/options.py +1 −1 Original line number Diff line number Diff line Loading @@ -501,7 +501,7 @@ class ModelAdmin(BaseModelAdmin): try: object_id = model._meta.pk.to_python(object_id) return queryset.get(pk=object_id) except (model.DoesNotExist, ValidationError): except (model.DoesNotExist, ValidationError, ValueError): return None def get_changelist_form(self, request, **kwargs): Loading tests/admin_views/tests.py +12 −3 Original line number Diff line number Diff line Loading @@ -124,13 +124,22 @@ class AdminViewBasicTest(TestCase): def testBasicEditGetStringPK(self): """ A smoke test to ensure GET on the change_view works (returns an HTTP 404 error, see #11191) when passing a string as the PK argument for a model with an integer PK field. Ensure GET on the change_view works (returns an HTTP 404 error, see #11191) when passing a string as the PK argument for a model with an integer PK field. """ response = self.client.get('/test_admin/%s/admin_views/section/abc/' % self.urlbit) self.assertEqual(response.status_code, 404) def testBasicInheritanceGetStringPK(self): """ Ensure GET on the change_view works on inherited models (returns an HTTP 404 error, see #19951) when passing a string as the PK argument for a model with an integer PK field. """ response = self.client.get('/test_admin/%s/admin_views/supervillain/abc/' % self.urlbit) self.assertEqual(response.status_code, 404) def testBasicAddPost(self): """ A smoke test to ensure POST on add_view works. Loading Loading
django/contrib/admin/options.py +1 −1 Original line number Diff line number Diff line Loading @@ -501,7 +501,7 @@ class ModelAdmin(BaseModelAdmin): try: object_id = model._meta.pk.to_python(object_id) return queryset.get(pk=object_id) except (model.DoesNotExist, ValidationError): except (model.DoesNotExist, ValidationError, ValueError): return None def get_changelist_form(self, request, **kwargs): Loading
tests/admin_views/tests.py +12 −3 Original line number Diff line number Diff line Loading @@ -124,13 +124,22 @@ class AdminViewBasicTest(TestCase): def testBasicEditGetStringPK(self): """ A smoke test to ensure GET on the change_view works (returns an HTTP 404 error, see #11191) when passing a string as the PK argument for a model with an integer PK field. Ensure GET on the change_view works (returns an HTTP 404 error, see #11191) when passing a string as the PK argument for a model with an integer PK field. """ response = self.client.get('/test_admin/%s/admin_views/section/abc/' % self.urlbit) self.assertEqual(response.status_code, 404) def testBasicInheritanceGetStringPK(self): """ Ensure GET on the change_view works on inherited models (returns an HTTP 404 error, see #19951) when passing a string as the PK argument for a model with an integer PK field. """ response = self.client.get('/test_admin/%s/admin_views/supervillain/abc/' % self.urlbit) self.assertEqual(response.status_code, 404) def testBasicAddPost(self): """ A smoke test to ensure POST on add_view works. Loading