#34508: Admin Checks Reversed FKs.( modified check_list_display function )
-----------------------------------------+------------------------
Reporter: sanju3110 | Owner: nobody
Type: Uncategorized | Status: new
Component: Uncategorized | Version: 4.2
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------+------------------------
from django.contrib.admin.checks import E109
from django.core.checks import Error
def check_list_display(app_configs, **kwargs):
errors = []
for model, model_admin in all_admins.items():
list_display = getattr(model_admin, 'list_display', [])
for field_name in list_display:
try:
model._meta.get_field(field_name)
except FieldDoesNotExist:
try:
related_model = getattr(model,
field_name).related_model
related_field = getattr(related_model,
model._meta.model_name.lower())
if not isinstance(related_field, ForeignObjectRel):
raise AttributeError
except (AttributeError, FieldDoesNotExist):
errors.append(Error(
'The value of \'list_display\' must be a list or
tuple of field names or callables that are '
'valid on the model, or a string representing a
model method. '
'The field name \'%s\' is not a valid field name
on the model \'%s\'.'
% (field_name, model._meta.label),
obj=model_admin.__class__,
id=E109,
))
return errors
--
Ticket URL: <https://code.djangoproject.com/ticket/34508>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070187a7ccb406-685f6789-adf8-424e-97e8-ddf9ace0fb52-000000%40eu-central-1.amazonses.com.