微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django自定义身份验证模型

如何解决Django自定义身份验证模型

不知道如何命名此问题,让我详细说明。 我有一个非常老的django项目,自django 1.5以来一直在迁移它。 它始终具有类Member,扩展了User,并且实际上已用作该应用程序的身份验证模型。 AUTH_USER_MODEL从未更改,但是SOCIAL_AUTH_USER_MODEL被设置为自定义身份验证模型(它可以那样工作)。 目前,我正在迁移到django 3.x,并且在django-registration中遇到了麻烦-它曾经与Member设置为模型一起工作,但是现在它针对AUTH_USER_MODEL进行了检查。最重要的是,我想使其成为“正确”的方式,并设置适当的自定义模型,并确保在我深入研究它之前正确地做它,因为我希望它不太容易。

当我仅将AUTH_USER_MODEL设置为自定义模型时,就会收到错误消息members.Member.user_ptr: (fields.E301) Field defines a relation with the model 'auth.User',which has been swapped out. 当我使Member而不是AbstractUser扩展User时,我缺少ID和字段,因为django然后期望所有数据都在单个表中(而不是具有2个一对一关系表) 。 我可以通过某种方式手动将数据合并到单个表中,但是我什至不确定这是否正确。

什么是使该项目在未来摆脱困境的最佳方法?如何迁移/进行?我愿意弄脏我的手:-)

解决方法

没有示例代码就很难提供帮助。否则

在创建数据库表后更改AUTH_USER_MODEL 因为它影响外键并且 多对多关系

这些文章可能会对您有所帮助。

Ruddra.com

Tobias McNulty

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。