为我的项目实施自定义用户,
这是我的account/models.py
class myUser(AbstractBaseUser, PermissionsMixin):
#blah
date_joined = models.DateTimeField(auto_now_add=True)
#blah
和我的account/admin.py
class myUserDetail(admin.ModelAdmin):
list_display = ('email','password','is_active','is_staff','date_joined',)
fields = list_display
admin.site.register(myUser, myUserDetail)
list_display工作正常,但当我点击进入用户时,
提出错误:
Unknown field(s) (date_joined) specified for myUser. Check fields/fieldsets/exclude attributes of class myUserDetail.
实际上它存在于postgres中...... 请帮忙!
答案 0 :(得分:1)
为管理员自动创建ModelForm
时会触发错误,特别是if there are missing fields。由于您使用的是auto_now_add=True
,which implicitly sets editable=False
,因此该字段无法包含在自动生成的表单中。因此,会触发错误。
我建议您单独指定fields
和list_display
,因为它们实际上并不相同。
答案 1 :(得分:-1)
在Django中使用自定义用户模型时,应在设置中添加以下行:
AUTH_USER_MODEL = 'accounts.MyUser'
我还认为你应该从AbstractUser
继承,这是一个抽象基类,实现具有管理员兼容权限的全功能用户模型,并包括email
,date_joined
等字段
您可以阅读有关自定义用户模型in the Django documentation的更多信息。