我正在使用自定义用户管理员:
class CustomUserAdmin(admin.ModelAdmin):
model = User
...
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
但是当我尝试通过管理页面更改密码时,我得到了404.
user object with primary key u'4/password' does not exist.
恢复默认用户管理工作正常。
答案 0 :(得分:17)
django.contrib.auth.admin
中的默认UserAdmin
实现了许多功能,包括更改密码页。
您的CustomUserAdmin
应该是UserAdmin
的子类,而不是admin.ModelAdmin
,除非您想自己重新实现该功能。
class CustomUserAdmin(UserAdmin):
# as an example, this custom user admin orders users by email address
ordering = ('email',)
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
答案 1 :(得分:1)
此外:
根据the docs,如果从AbstractBaseUser继承,则无法使用默认的UserAdmin;或者换句话说,只有部分功能可以使用 - 更改现有密码可能有效,但添加新用户会产生异常。