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

Django自定义用户模型与配置文件模型,django,django-models,Django,Django Models,我有一个Django 1.5应用程序,目前每个用户都有两种不同的模型:内置的用户模型和我自己的MyUser模型,其中包含身份验证过程中使用的信息 我想把这两个模型合并成一个模型,或者至少从另一个模型中引用一个模型 如果我要构建一个新的应用程序,我会执行AUTH\u USER\u MODEL='myapp.MyUser',但是,更改用户模型会对数据库进行许多更改,并且可能很难在现有应用程序中迁移 另一方面,文档还指出,引用的概要文件模型只应存储有关站点用户的非身份验证相关信息 所以我的问题是:在现

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

我想把这两个模型合并成一个模型,或者至少从另一个模型中引用一个模型

如果我要构建一个新的应用程序,我会执行
AUTH\u USER\u MODEL='myapp.MyUser'
,但是,更改用户模型会对数据库进行许多更改,并且可能很难在现有应用程序中迁移

另一方面,文档还指出,引用的概要文件模型只应
存储有关站点用户的非身份验证相关信息

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

我建议在django中使用relation。模型可以如下所示:

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

迁移
AUTH_PROFILE_模块
不是一件小事,但绝对有可能:

有关此过程的详细演练,请参阅


如果您现在愿意花时间这样做,这将是减少项目中技术债务的重要一步。

您所说的“相互参照”是什么意思?他们还没有关系吗?不,他们没有
MyUser
目前独立于
User
模型,这就是我想要改变的。这就是文档所说的。但是,它还指出,在这种情况下,
CustomUser
应该只存储非身份验证数据。我想知道为什么…这意味着,你必须在
User
中存储用户名和密码是的,但我的应用程序不仅可以通过用户名和密码进行身份验证,所以在我的自定义用户模型中有更多与身份验证相关的数据。嗯,用户模型存储了很多信息,比如名字、姓氏,电子邮件等。根据这一点:您只需要用户名和密码进行身份验证(如果您使用django auth系统),其他相关信息可以存储在您的自定义模型的字段中。:)。谢谢你,鲁德拉。问题是,我有一些自定义身份验证后端,需要用户名和密码以外的其他数据,这些数据存储在自定义用户模型中。