Django 使用编辑表单作为添加用户给出错误
Django use edit form as add user gives error
我正在使用 Django 2.2.x.
我想将编辑用户表单中的所有字段用于添加用户表单。
为此,我扩展了 AuthUserAdmin
@admin.register(User)
class UserAdmin(AuthUserAdmin):
inlines = [
ProfileAdminInline
]
fieldsets = AuthUserAdmin.fieldsets
add_fieldsets = AuthUserAdmin.fieldsets
list_filter = [
'is_staff',
'is_active',
'is_superuser',
'last_login',
'date_joined',
]
list_display = [
'email',
'full_name',
'is_staff',
'is_superuser',
'is_active',
'last_login',
'date_joined',
]
ordering = ('-date_joined', 'username',)
search_fields = ['email', 'first_name', 'last_name']
但是添加用户报错
Please correct the errors below
但是没有突出显示错误的字段。
如何在 Django 管理员添加用户中使用编辑表单作为添加表单?
add_fieldsets
包括 password1
和 password2
。
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2'),
}),
)
所以你不能用 fieldsets
替换它,它有 password
.
fieldsets = (
(None, {'fields': ('username', 'password')}),
...
您可以尝试按如下方式组合它们:
# You can remove 'fieldsets' since it will
# inherit AuthUserAdmin.fieldsets by default
fieldsets = AuthUserAdmin.fieldsets
add_fieldsets = AuthUserAdmin.add_fieldsets + AuthUserAdmin.fieldsets[1:]
这将解决错误,但我认为它不会起作用,因为用户管理员有:
add_form = UserCreationForm
您需要使用所需的额外字段创建自定义表单。
我正在使用 Django 2.2.x.
我想将编辑用户表单中的所有字段用于添加用户表单。 为此,我扩展了 AuthUserAdmin
@admin.register(User)
class UserAdmin(AuthUserAdmin):
inlines = [
ProfileAdminInline
]
fieldsets = AuthUserAdmin.fieldsets
add_fieldsets = AuthUserAdmin.fieldsets
list_filter = [
'is_staff',
'is_active',
'is_superuser',
'last_login',
'date_joined',
]
list_display = [
'email',
'full_name',
'is_staff',
'is_superuser',
'is_active',
'last_login',
'date_joined',
]
ordering = ('-date_joined', 'username',)
search_fields = ['email', 'first_name', 'last_name']
但是添加用户报错
Please correct the errors below
但是没有突出显示错误的字段。
如何在 Django 管理员添加用户中使用编辑表单作为添加表单?
add_fieldsets
包括 password1
和 password2
。
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2'),
}),
)
所以你不能用 fieldsets
替换它,它有 password
.
fieldsets = (
(None, {'fields': ('username', 'password')}),
...
您可以尝试按如下方式组合它们:
# You can remove 'fieldsets' since it will
# inherit AuthUserAdmin.fieldsets by default
fieldsets = AuthUserAdmin.fieldsets
add_fieldsets = AuthUserAdmin.add_fieldsets + AuthUserAdmin.fieldsets[1:]
这将解决错误,但我认为它不会起作用,因为用户管理员有:
add_form = UserCreationForm
您需要使用所需的额外字段创建自定义表单。