Django - 在用户配置文件管理中显示用户电子邮件
Django - Display User Email in User Profile Admin
这可能是一个很简单的问题,但我一直没能在SO中找到它。
我通过 OnetoOneField 创建了一个用于附加用户信息的用户配置文件模型。现在对于用户配置文件模型的管理员,我想显示在用户模型中找到的电子邮件字段。我试过了:
# models.py
def email(self):
return self.user.email
# admin.py
fieldsets = [
('', {'fields': [
...
'email',
...
]})
]
list_display = (
...
'email',
...
)
这适用于 list_display
部分,但对于 fieldsets
,弹出以下错误:
Unknown field(s) (email) specified for UserProfile. Check fields/fieldsets/exclude attributes of class UserProfileAdmin.
有办法解决这个问题吗?提前致谢!
fields
can contain values defined in readonly_fields
to be displayed
as read-only.
If you add the name of a callable to fields
, the same rule applies as
with the fields
option: the callable must be listed in
readonly_fields
.
所以你需要添加:
readonly_fields = ('email',)
给您的模型管理员 class,然后它将在字段集中可用。
把这个
def email(self, obj):
return obj.user.email
在您的管理员 class 用户配置文件中,您将能够在字段集中使用它。
这可能是一个很简单的问题,但我一直没能在SO中找到它。
我通过 OnetoOneField 创建了一个用于附加用户信息的用户配置文件模型。现在对于用户配置文件模型的管理员,我想显示在用户模型中找到的电子邮件字段。我试过了:
# models.py
def email(self):
return self.user.email
# admin.py
fieldsets = [
('', {'fields': [
...
'email',
...
]})
]
list_display = (
...
'email',
...
)
这适用于 list_display
部分,但对于 fieldsets
,弹出以下错误:
Unknown field(s) (email) specified for UserProfile. Check fields/fieldsets/exclude attributes of class UserProfileAdmin.
有办法解决这个问题吗?提前致谢!
fields
can contain values defined inreadonly_fields
to be displayed as read-only.If you add the name of a callable to
fields
, the same rule applies as with thefields
option: the callable must be listed inreadonly_fields
.
所以你需要添加:
readonly_fields = ('email',)
给您的模型管理员 class,然后它将在字段集中可用。
把这个
def email(self, obj):
return obj.user.email
在您的管理员 class 用户配置文件中,您将能够在字段集中使用它。