在Django 1.7b4中继承BaseUser时出错

时间:2014-06-18 06:56:41

标签: python django python-2.7 django-models django-admin

我正在尝试为已存在的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

1 个答案:

答案 0 :(得分:5)

如果您只想将自定义字段添加到标准User模型,那么您的用户模型应该继承自AbstractUser,而不是AbstractBaseUser

别忘了设置:

AUTH_USER_MODEL = 'myapp.MyUser'

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-django-s-default-user