首页 > 解决方案 > 在 Django 中,当全名是外键值时,如何在管理过滤器中访问和显示用户的全名?

问题描述

我正在使用默认的 Django 管理员和用户模型。我正在尝试将一个字段添加到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_nameassignee_last_name 进入将被识别或显示的表单list_filter


在Django Display User as user Full Name in Admin Field有一个类似的问题,实际上这段代码是从那个答案派生的,但接受的答案并不令人满意;正如它在答案中所说的那样,它“不起作用”。我很欣赏这些问题大体相似,但提供的答案并没有回答这个问题。

标签: djangodjango-formsdjango-admindjango-filters

解决方案


推荐阅读