Fixed #28490 -- Removed unused code in admin.E108 check.

This commit is contained in:
Hunter Richards 2017-08-12 18:56:07 -07:00 committed by Tim Graham
parent 5d9b736fd8
commit 47016adbf5

View File

@ -643,27 +643,12 @@ class ModelAdminChecks(BaseModelAdminChecks):
elif hasattr(obj, item): elif hasattr(obj, item):
return [] return []
elif hasattr(model, item): elif hasattr(model, item):
# getattr(model, item) could be an X_RelatedObjectsDescriptor
try: try:
field = model._meta.get_field(item) field = model._meta.get_field(item)
except FieldDoesNotExist: except FieldDoesNotExist:
try: return []
field = getattr(model, item) else:
except AttributeError: if isinstance(field, models.ManyToManyField):
field = None
if field is None:
return [
checks.Error(
"The value of '%s' refers to '%s', which is not a "
"callable, an attribute of '%s', or an attribute or method on '%s.%s'." % (
label, item, obj.__class__.__name__, model._meta.app_label, model._meta.object_name
),
obj=obj.__class__,
id='admin.E108',
)
]
elif isinstance(field, models.ManyToManyField):
return [ return [
checks.Error( checks.Error(
"The value of '%s' must not be a ManyToManyField." % label, "The value of '%s' must not be a ManyToManyField." % label,
@ -671,26 +656,19 @@ class ModelAdminChecks(BaseModelAdminChecks):
id='admin.E109', id='admin.E109',
) )
] ]
else:
return [] return []
else: else:
try:
model._meta.get_field(item)
except FieldDoesNotExist:
return [ return [
# This is a deliberate repeat of E108; there's more than one path
# required to test this condition.
checks.Error( checks.Error(
"The value of '%s' refers to '%s', which is not a callable, " "The value of '%s' refers to '%s', which is not a callable, "
"an attribute of '%s', or an attribute or method on '%s.%s'." % ( "an attribute of '%s', or an attribute or method on '%s.%s'." % (
label, item, obj.__class__.__name__, model._meta.app_label, model._meta.object_name label, item, obj.__class__.__name__,
model._meta.app_label, model._meta.object_name,
), ),
obj=obj.__class__, obj=obj.__class__,
id='admin.E108', id='admin.E108',
) )
] ]
else:
return []
def _check_list_display_links(self, obj): def _check_list_display_links(self, obj):
""" Check that list_display_links is a unique subset of list_display. """ Check that list_display_links is a unique subset of list_display.