В Django, как получить доступ и отобразить полное имя пользователя в фильтре администратора, когда полное имя является значением внешнего ключа?
Я использую стандартную модель Django admin и User. Я пытаюсь добавить поле в list_filter
, где значением поля является username
. Но я хотел бы отобразить в фильтре пользователя first_name
и last_name
. Я не уверен, как получить доступ к значениям этих пользователей из админки.
Вот небольшой код, который не работает:
list_filter = ('status', 'assignee_full_name')
@property
def assignee_full_name(self, obj):
return obj.assignee.first_name + obj.assignee_last_name
(assignee
- это поле, по которому я сортирую, то есть то, значение которого равно имени пользователя)
Этот код в том виде, в котором он написан, не работает. Сообщение об ошибке выглядит следующим образом
<class 'intake.admin.ClientAdmin'>: (admin.E116) The value of 'list_filter[1]' refers to 'assignee_first_name', which does not refer to a Field.
Что мне нужно сделать по-другому, чтобы assignee.first_name
и assignee_last_name
придать форму, которая будет распознана или отображена list_filter
?
Подобный вопрос есть в Django Display User as user Full Name in Admin Field, фактически этот код был получен из того ответа, но принятый ответ неудовлетворителен; как сказано прямо в ответе, он "не работает". Я понимаю, что вопросы по существу схожи, но предоставленный ответ не отвечает на вопрос