Django自定义用户模型与配置文件模型

时间:2014-07-06 08:45:59

标签: django django-models

我有一个Django 1.5应用程序,目前每个用户有2个不同的模型:内置User模型和我自己的MyUser模型,其中包含也用于身份验证过程的信息

我想将这两个模型合并为一个,或者至少从另一个模型中引用它们。

如果我要构建一个新应用,我会AUTH_USER_MODEL = 'myapp.MyUser',但according to the docs,更改用户模型会对数据库进行许多更改,并且可能难以在现有应用中迁移。< / p>

另一方面,文档还说引用的个人资料模型应该只store non-auth related information about a site user

所以我的问题是:在现有应用中,将自定义用户模型与内置User模型合并的首选方法是什么?

2 个答案:

答案 0 :(得分:2)

迁移AUTH_PROFILE_MODULE并非琐碎,但绝对可能:

有关该流程的详细演示,请参阅http://www.caktusgroup.com/blog/2013/08/07/migrating-custom-user-model-django/

如果您愿意花时间这么做,这可能是减少项目技术债务的重要一步。

答案 1 :(得分:1)

我建议在django中使用one-to-one关系。该模型可以是:

class CustomUser(models.Model):
     dj_user= models.OneToOneField(User)