summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorGreg Chapple <gregchapple1@gmail.com>2014-06-10 10:32:46 +0100
committerTim Graham <timograham@gmail.com>2014-06-10 09:35:05 -0400
commitd8f19bb3b6f858bef499fdab41948a5a5e8d55aa (patch)
treeca3556dfa3dfe2ab1dfff0742d344da276d7312a /django
parent34f4fd70245c2daee29f9866600c6203c58e25c2 (diff)
Fixed #22792 -- Updated checks for list_display_links in model admin
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/checks.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/django/contrib/admin/checks.py b/django/contrib/admin/checks.py
index e49bb8fb6e..335062562d 100644
--- a/django/contrib/admin/checks.py
+++ b/django/contrib/admin/checks.py
@@ -779,7 +779,7 @@ class ModelAdminChecks(BaseModelAdminChecks):
obj=cls,
id='admin.E122',
),
- elif field_name in cls.list_display_links:
+ elif cls.list_display_links and field_name in cls.list_display_links:
return [
checks.Error(
"The value of '%s' cannot be in both 'list_editable' and 'list_display_links'." % field_name,
@@ -788,7 +788,10 @@ class ModelAdminChecks(BaseModelAdminChecks):
id='admin.E123',
)
]
- elif not cls.list_display_links and cls.list_display[0] in cls.list_editable:
+ # Check that list_display_links is set, and that the first values of list_editable and list_display are
+ # not the same. See ticket #22792 for the use case relating to this.
+ elif (cls.list_display[0] in cls.list_editable and cls.list_display[0] != cls.list_editable[0] and
+ cls.list_display_links is not None):
return [
checks.Error(
"The value of '%s' refers to the first field in 'list_display' ('%s'), "