使用来自中间模型的主键作为django中的外键

时间:2016-06-06 14:27:00

标签: django-models

我有两个模型,通过中间模型有多对多的关系。是否可以将中间模型中的主键用作另一个模型中的外键?

class Teacher(models.Model):
    title = models.CharField(max_length=20)
class Course(models.Model):
    title = models.CharField(max_length=20)
    teachers = models.ManyToManyField(Teacher, through='Teacher_Course')
class Teacher_Course(models.Model):
    teacher = models.ForeignKey(Teacher, on_delete=CASCADE)
    course = models.ForeignKey(Course, on_delete=CASCADE)
    allotedLectures = models.IntegerField()
class Lecture(models.Model):
    teacher_course = models.ForeignKey(Teacher_Course)
    content = models.CharField(max_length=255)

以这种方式在Lecture模型中使用ForeignKey关系是否有效?

1 个答案:

答案 0 :(得分:0)

由于您已将through表明确地创建为模型,因此它将具有PK,这意味着其他表可以将其用作FK。 TL; DR,是的。