如何使用两个不同的配置文件扩展Django用户模型?

时间:2017-02-26 04:23:28

标签: python django models

是否可以创建两个不同的配置文件,并让它们都扩展Django用户模型。我正在尝试创建学生档案和教师档案,我该怎么做呢?我的学生档案包含所选课程等属性,但教师不应该参加课程,只能创建课程。

2 个答案:

答案 0 :(得分:3)

您可以创建多个模型继承User模型。

class Teacher(User):
    pass

class Course(models.Model):
    teacher = models.ForeignKey(Teacher)

class Student(User):
    courses = models.ManyToManyField(Course)

答案 1 :(得分:1)

您可以将django内置User模型类继承到任意数量的模型中。

from django.contrib.auth.models User

class Course(models.Model):
    name = models.CharField(-----)

class Teacher(User):
    pass

class Course(models.Model):
    teacher = models.ForeignKey(Teacher)

class Student(User):
    courses = models.ManyToManyField(Course)