Django - 创建一个新的用户模型扩展一个已经扩展的用户模型

Django - Creating a new user model extending an already extended user model

我正在开始一个新项目,我创建了扩展 AbstractBaseUser 的用户模型,如下所示:

class NewUser(AbstractBaseUser, PermissionsMixin):

    email = models.EmailField( unique=True)
    user_name = models.CharField(max_length=150, unique=True)
    ...

我想知道创建我的用户(例如教师)是否可能并且是否有意义 通过扩展 NewUser,并添加所有教师个人资料信息。 那将是这样的:

class Teacher(NewUser):

    role = models.CharField(max_length=150)
    title = models.CharField(max_length=150)
    date_of_birth = models.CharField(max_length=150)
    ...

这是一个好的做法吗?它是否允许我将内置身份验证方法与 DRS 一起使用?

如果我想让其他用户(例如学生)也能注册一个帐户并登录,这是否会提供更大的灵活性?

还是直接使用 NewUser 更有意义?

非常感谢一些建议/见解!

我建议这样使用 OneToOneField

class Teacher(models.Model):
    user = models.OneToOneField(NewUser, related_name='teacher')
    # Other fields that related to Teacher

class Student(models.Model):
    user = models.OneToOneField(NewUser, related_name='student')
    # Other fields that related to Student

因此,NewUser 模型将仅负责 loginsignuppermissions