如何在Django中正确覆盖User admin [英] How to properly override User admin in Django
问题描述
我想添加添加内联模型,并从Django管理中的用户更改表单中排除某些字段。
I want to add add inline model and exclude some fields from User change form in Django admin.
我试图覆盖Django内置的 UserAdmin
来保留用户更改设计:
I'm trying to override Django's built-in UserAdmin
to preserve User change design:
class UserCustomAdmin(UserAdmin):
# list_display = ['id', 'username','email', 'last_login']
exclude = ['groups','user_permissions']
inlines = [UserProfileInline]
即使 exclude = ['groups']
也会引发错误:
u在用户窗体中找不到关键的组。选择包括:date_joined,
电子邮件,first_name,is_active,is_staff,is_superuser,last_login,
last_name,密码,用户名。
u"Key 'groups' not found in 'UserForm'. Choices are: date_joined, email, first_name, is_active, is_staff, is_superuser, last_login, last_name, password, username."
如何使其工作?
推荐答案
组
字段显示在 UserAdmin.fieldsets
。
该错误出现,我认为是因为您从表单中排除了该字段,但后来在字段集中定义了该表单,并且表单失败。
groups
field appears in the UserAdmin.fieldsets
also.
The error appears, I think, because you exclude the field from form, but later is defined in the fieldsets and form fails.
尝试覆盖<因此,在您的 UserCustomAdmin
中没有 groups
字段的code> fieldsets 。
Try to overwrite the fieldsets
accordingly, in your UserCustomAdmin
with no groups
field.
这篇关于如何在Django中正确覆盖User admin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!