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