您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Django中创建自定义用户模型时,从models.Model和AuthUser继承之间有什么区别?

在Django中创建自定义用户模型时,从models.Model和AuthUser继承之间有什么区别?

一个多表继承。(我想您实际上是在说django.contrib.auth.models.User。)您的新用户模型将具有django用户模型中定义的所有字段。这是由django在模型上隐式创建一个OneToOneField来管理的。

第二个是您自己创建的OneToOneField。现在,django.contrib.auth.model.User模型的字段不会自动显示为您自己模型的一部分。您仍然可以通过以下方式访问它们

 myinstance.user.parent_field

说了这么多,对于选项1,您应该从抽象基类继承,而不是直接从User模型继承

class MyUser(AbstractBaseUser):
   ...
Go 2022/1/1 18:43:12 有336人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶