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 18593,Admin change list swallows unrelated AttributeErrors from callable display fields,Pi Delport,nobody,"If a callable display field on a model or model admin raises either an `AttributeError`, the interface currently captures the error, and renders the field as `EMPTY_CHANGELIST_VALUE`. This behavior is surprising and confusing when the `AttributeError` originates in unrelated user code called by the display field: errors like third-party app bugs or missing settings get silenced, and the field's content simply becomes ""(None)"". There's no hint to a novice about what went wrong, or where to look next. The code responsible for this is in [https://github.com/django/django/blob/1.4/django/contrib/admin/templatetags/admin_list.py#L167 templatetags/admin_list.py]'s `items_for_result()`, around `lookup_field()`. As far as i can tell, all the valid empty fields cases are covered by results of `ObjectDoesNotExist` or `None`, and not `AttributeError`: a missing attribute specified in `list_display` normally result in `ImproperlyConfigured` instead. If there's no compelling reason to capture `AttributeError` like this, can it simply be removed from the exception list, and allowed to propagate?",Bug,closed,contrib.admin,1.4,Normal,duplicate,"admin, list_display",,Design decision needed,1,0,0,0,0,0