summaryrefslogtreecommitdiff
path: root/django/contrib/admin/options.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2015-10-28 11:25:25 -0400
committerSimon Charette <charette.s@gmail.com>2015-10-29 13:15:40 -0400
commit6eaf43a24471f98939da18d031b4f0b4e49640c6 (patch)
tree5e76b8edea671b999710e2f6d362d5fd9516b12a /django/contrib/admin/options.py
parent6bb9f51ab8e3cc56b05238ea012763ba775ab896 (diff)
[1.9.x] Fixed #25622 -- Accounted for generic relations in the admin to field validation
Thanks to Jonathan Liuti for the report and Tim Graham for the review. Backport of 9dcfecb7c6c8285630ad271888a9ec4ba9140e3a from master
Diffstat (limited to 'django/contrib/admin/options.py')
-rw-r--r--django/contrib/admin/options.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index 6ccd3d8014..c7ac2ff74f 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -413,8 +413,10 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)):
)
for related_object in related_objects:
related_model = related_object.related_model
+ remote_field = related_object.field.remote_field
if (any(issubclass(model, related_model) for model in registered_models) and
- related_object.field.remote_field.get_related_field() == field):
+ hasattr(remote_field, 'get_related_field') and
+ remote_field.get_related_field() == field):
return True
return False