【问题标题】:How can I extend my existing Custom User Model created with AbstractBaseUser to have multiple user types like customer, trainer and author?如何扩展使用 AbstractBaseUser 创建的现有自定义用户模型以拥有多种用户类型,如客户、培训师和作者?
【发布时间】:2020-03-29 04:23:42
【问题描述】:

我有一个基于Django doc 创建的现有自定义用户模型,用于基于电子邮件 身份验证。

我想扩展模型以拥有多种用户类型,例如客户、培训师和作者。

我不确定如何继续前进,扩展它的最佳方式是什么?

另外,我是否使用 AbstractBaseUser 做出了正确的选择,还是应该使用 AbstractUser 类。

【问题讨论】:

标签: python django django-models django-authentication django-users


【解决方案1】:

将你的 MyUser 类重命名为 MyUserBase 或 MyUserAbstract,然后在这个类中

class MyUserBase(AbstractBaseUser):
  class Meta:
    abstract = True
  .
  .
  .

现在你可以扩展它了:

然后像这样重新创建您的 MyUser 类:

class MyUser(MyUserBase):
  pass

还有其他类似的模型:

class Trainer(MyUserBase):
  ... #other properties

class Customer(MyUserBase):
  ... #other properties

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 2016-12-19
    • 2015-01-29
    • 1970-01-01
    • 2014-09-04
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多