这可能是一个非常简单的问题,但我无法在SO中找到它。
我通过OnetoOneField为其他用户信息创建了一个用户配置文件模型。现在,对于用户配置文件模型的管理员,我想显示在用户模型中找到的电子邮件字段。我试过了:
# models.py
def email(self):
return self.user.email
# admin.py
fieldsets = [
('', {'fields': [
...
'email',
...
]})
]
list_display = (
...
'email',
...
)
这适用于list_display
部分,但对于fieldsets
,会弹出以下错误:
为UserProfile指定的未知字段(电子邮件)。检查字段/字段集/排除类UserProfileAdmin的属性。
有办法解决这个问题吗?提前谢谢!
答案 0 :(得分:0)
fields
可以包含要显示的readonly_fields
中定义的值 只读。如果将可调用名称添加到
fields
,则应用相同的规则 使用fields
选项:必须列出可调用对象readonly_fields
。
所以你需要添加:
readonly_fields = ('email',)
到您的模型管理类,然后它将在字段集中可用。
答案 1 :(得分:0)
把这个
def email(self, obj):
return obj.user.email
在您的userprofile管理类中,您将能够在字段集中使用它。