在Django 1.7b4中继承BaseUser时出错

use*_*956 2 python django django-models django-admin python-2.7

我正在尝试为已存在的django的User模型添加自定义字段.

我想要默认用户模型的所有字段(包括密码哈希功能)+自定义字段has_car,所以我做了......

class MyUser(AbstractBaseUser):
      has_car = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

并在管理面板中注册 admin.site.register(MyUser)

当我尝试在管理面板中添加打开此模型时,我收到此错误.

OperationalError at /admin/myapp/myuser/
(1054, "Unknown column 'myapp_myuser.id' in 'field list'")
Run Code Online (Sandbox Code Playgroud)

我不确定它是mysqldb错误还是什么?

我知道我可以使用OneToOne或ForeignKey字段,但我只想扩展用户模型.再次,它django == 1.7b4 + Mysql

Yuv*_*dam 5

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

别忘了设置:

AUTH_USER_MODEL = 'myapp.MyUser'
Run Code Online (Sandbox Code Playgroud)

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