﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34508	Admin Checks Reversed FKs.( modified check_list_display function )	sanju3110	nobody	"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
"	Uncategorized	new	Uncategorized	4.2	Normal				Unreviewed	0	0	0	0	0	0
