﻿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
29992	Error in admin checking list_display items	Giovanni Toffoli	nobody	"I'm porting my app from Django 1.8 and 2.0.6 to **Django 2.1.3**.
In the last environment, ''runserver'' emits a lot of system check issues of type **admin.E108**
They refer to fields from different modules and many different classes, but all of them are ''CharField'' or ''TextField''.

I see that method **_check_list_display_item** of class ''ModelAdminChecks'' in module ''check'' of ''django.contrib.admin'' has changed significantly between releases 2.0.6 and 2.1.3; in the latter, has been removed the last branch (else) of the top-level if-elif-else structure, although it was explicitly stated, in a comment inside it, that the associated path was required.

I'm not able to make a complete diagnosis, but it seems that testing

{{{
hasattr(model, item)
}}}

in general gives a different result than testing the existence of the same field with

{{{
model._meta.get_field(item)
}}}

In fact, using the ''manage.py shell'' command, I experimentally verified such difference on a subset of the fields presenting the above mentioned problem: the ''hasattr'' test yields sometimes True and sometimes False (don't know why), while the other way of testing the existence of the field always yields a True result."	Bug	closed	contrib.admin	2.1	Release blocker	needsinfo		toffoli@…	Unreviewed	0	0	0	0	0	0
