summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-08-24 11:52:58 -0400
committerTim Graham <timograham@gmail.com>2015-08-28 08:46:26 -0400
commit9607a0404188bbe612f05216f5a82df26f4b4e80 (patch)
tree8f7424a7f42fa21950e4895e0eca201135dfc865 /tests/admin_views
parent8e631a3175f145dbf3eec269f8e3c59a1520540f (diff)
Fixed #25299 -- Fixed crash with ModelAdmin.list_display value that clashes with a model reverse accessor.
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/admin.py6
-rw-r--r--tests/admin_views/tests.py10
2 files changed, 15 insertions, 1 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index 367ac3df62..b13bd32115 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -169,7 +169,11 @@ class ThingAdmin(admin.ModelAdmin):
class InquisitionAdmin(admin.ModelAdmin):
- list_display = ('leader', 'country', 'expected')
+ list_display = ('leader', 'country', 'expected', 'sketch')
+
+ def sketch(self, obj):
+ # A method with the same name as a reverse accessor.
+ return 'list-display-sketch'
class SketchAdmin(admin.ModelAdmin):
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 928186c6d7..acdd8bf1f3 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4882,6 +4882,16 @@ class RawIdFieldsTest(TestCase):
self.assertNotContains(response2, "Kilbraken")
self.assertContains(response2, "Palin")
+ def test_list_display_method_same_name_as_reverse_accessor(self):
+ """
+ Should be able to use a ModelAdmin method in list_display that has the
+ same name as a reverse model field ("sketch" in this case).
+ """
+ actor = Actor.objects.create(name="Palin", age=27)
+ Inquisition.objects.create(expected=True, leader=actor, country="England")
+ response = self.client.get(reverse('admin:admin_views_inquisition_changelist'))
+ self.assertContains(response, 'list-display-sketch')
+
@override_settings(PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'],
ROOT_URLCONF="admin_views.urls")