在我的应用程序中,存在多对一的关系,例如一位老师可以教授多个学科。因此,在管理面板中我无法模拟它。不能添加多个主题:
这是我的代码:
models.py:
class Subject(models.Model):
def __str__(self):
return self.name
name = models.CharField(max_length=200)
credit = models.IntegerField()
class Teacher(models.Model):
def __str__(self):
return self.name
name = models.CharField(max_length=100)
email = models.CharField(max_length=100, null=True)
chair = models.ForeignKey(Chair, on_delete=models.CASCADE)
academic_degree = models.CharField(max_length=100)
subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
您已将其反转。 ForeignKey
是Many-to-One,其中[[Many是定义它的模型的实例;您已经将ForeignKey
模型上的Teacher
声明为Subject
模型,这意味着“许多老师只能教一个学科” –相反。因此在ForeignKey
模型上将Teacher
定义为Subject
模型。并且也对其他类似的对象执行相同的操作。