我有一个基于Django doc创建的现有自定义用户模型,该模型具有基于电子邮件的身份验证。
我想将模型扩展为具有多种用户类型,例如客户,培训师和作者。
我不确定该如何进行,最好的扩展方式是什么?
此外,我是否已对 AbstractBaseUser 选择了正确的选择,还是应该使用 AbstractUser 类。
答案 0 :(得分: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