我有两个模型,通过中间模型有多对多的关系。是否可以将中间模型中的主键用作另一个模型中的外键?
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关系是否有效?
答案 0 :(得分:0)
由于您已将through表明确地创建为模型,因此它将具有PK,这意味着其他表可以将其用作FK。 TL; DR,是的。