我正在尝试为已存在的django的用户模型添加自定义字段。
我想要默认用户模型的所有字段(包括密码哈希功能)+自定义字段has_car
,所以我做了...
class MyUser(AbstractBaseUser):
has_car = models.BooleanField(default=False)
并在管理面板admin.site.register(MyUser)
当我尝试在管理面板中添加打开此模型时,我收到此错误。
OperationalError at /admin/myapp/myuser/
(1054, "Unknown column 'myapp_myuser.id' in 'field list'")
我不确定它是mysqldb错误还是什么?
我知道我可以使用OneToOne或ForeignKey字段,但我只想扩展用户模型。 再次,它django == 1.7b4 + Mysql
答案 0 :(得分:5)
如果您只想将自定义字段添加到标准User
模型,那么您的用户模型应该继承自AbstractUser
,而不是AbstractBaseUser
。
别忘了设置:
AUTH_USER_MODEL = 'myapp.MyUser'
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-django-s-default-user