Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建新用户模型时发生迁移错误';授权用户';,已经换掉了_Python_Python 3.x_Django_Django Models - Fatal编程技术网

Python 创建新用户模型时发生迁移错误';授权用户';,已经换掉了

Python 创建新用户模型时发生迁移错误';授权用户';,已经换掉了,python,python-3.x,django,django-models,Python,Python 3.x,Django,Django Models,我正在尝试添加自定义用户模型,但每当我尝试迁移更改时,都会出现错误: account.EmailAddress.user: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out. HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'. socialaccount.Socia

我正在尝试添加自定义用户模型,但每当我尝试迁移更改时,都会出现错误:

account.EmailAddress.user: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out.
        HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'.
socialaccount.SocialAccount.user: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out.
        HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'.
在我的设置中,我已经添加了:

AUTH_USER_MODEL = 'user.User'
我的自定义用户模型是:

class User(AbstractUser):
    
    def __str__(self):
        return self.username

如何解决此问题?

在安装了引用此模型的软件包后,您已经修改了AUTH\u USER\u模型。现在参考文献是错误的,你必须做一些手工工作:

创建数据库表后更改AUTH_USER_模型要困难得多,因为它会影响外键和多对多关系

此更改无法自动完成,需要手动修复架构,从旧用户表中移动数据,并可能手动重新应用某些迁移。请参见#25313了解步骤的概要

如果您不关心数据,因为项目还没有启动,那么您可以删除数据库,创建一个新的空数据库,然后进行迁移


如果这两个选项听起来都不吸引人,请重新评估您是否真的需要自定义用户模型-也许您需要做的只是。

如何定义ForeignKey的to user?请参阅-注意ForeignKey中
settings.AUTH\u USER\u MODEL
的用法fields@elyas
allautth
是Django软件包