#34508 closed Uncategorized (needsinfo)

Admin Checks Reversed FKs.( modified check_list_display function )

Reported by: sanju3110 Owned by: nobody
Component: Uncategorized Version: 4.2
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Mariusz Felisiak)

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

Change History (1)

comment:1 by Mariusz Felisiak, 14 months ago

Description: modified (diff)
Resolution: needsinfo
Status: newclosed

Thanks for the report, however I really don't have any idea what you are trying to report. Please follow our bug reporting guidelines and "write complete, reproducible, specific bug reports. You must include a clear, concise description of the problem, and a set of instructions for replicating it."

Note: See TracTickets for help on using tickets.
Back to Top