在Django 1.5项目中,我创建了一个从AbstractBaseUser扩展的自定义用户模型,使电子邮件地址成为主键(而不是用户名)。
如何在django管理界面中获取UserAdmin的更改密码功能?我尝试使用名为CustomUserAdmin的类扩展UserAdmin(很像Using custom User admin breaks change password form in Django's admin中建议的答案),但是我收到以下错误消息
CustomUserAdmin.list_display[0], 'username' is not a callable or an attribute of 'CustomUserAdmin' or found in the model 'User'.
我基本上想要默认的管理界面,除了密码字段(我想从UserAdmin获取)。
我该怎么做?
答案 0 :(得分:0)
您的自定义用户模型看起来没有“用户名”字段。而且由于CustomUserAdmin正在扩展UserAdmin,它假定存在“用户名”字段;我们收到了这个错误。
我建议您在自定义模型中添加“用户名”字段,并在其中存储相同的“电子邮件”字段值。
或覆盖使用“用户名”的UserAdmin类的所有属性。 例如:
class CustomUserAdmin(UserAdmin):
list_display = ['email', 'first_name'.....]