如何在Django 1.5中使用自定义用户模型获取“更改密码”功能

时间:2013-06-13 06:33:57

标签: django django-admin

在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获取)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的自定义用户模型看起来没有“用户名”字段。而且由于CustomUserAdmin正在扩展UserAdmin,它假定存在“用户名”字段;我们收到了这个错误。

我建议您在自定义模型中添加“用户名”字段,并在其中存储相同的“电子邮件”字段值。

或覆盖使用“用户名”的UserAdmin类的所有属性。 例如:

class CustomUserAdmin(UserAdmin):
    list_display = ['email', 'first_name'.....]
相关问题