【发布时间】:2015-05-04 12:00:11
【问题描述】:
我正在与学院、教师和学生一起使用 Django 项目做一个简单的测试。
我正在尝试这个:
class Student(models.Model):
name = models.CharField()
direction = models.CharField()
city = models.CharField()
telephone = models.CharField(max_length=9)
email = models.EmailField()
teachers = models.ForeignKey(Teacher)
class Teacher(models.Model):
name = models.CharField(max_length=50)
direction = models.CharField(max_length=150)
city = models.CharField(max_length=50)
telephone = models.CharField(max_length=9)
email = models.EmailField()
students = models.ForeignKey(Student)
class Academy(models.Model):
name = models.CharField(max_length=50)
direction = models.CharField(max_length=150)
city = models.CharField(max_length=50)
teacher = models.ForeignKey(Teacher, blank=True, null=True)
students = models.ForeignKey(Student)
问题是,如果我实现第一个学生,找不到老师来制作外键,如果我实现第一个老师也是一样。
有什么方法可以在实现模型之前定义模型,就像在 C 中的函数一样?
谢谢!
【问题讨论】:
-
虽然 Aamir 的回答是正确的,但您的模型没有任何意义。 ForeignKey 是多对一的关系,不能用来定义“老师”和“学生”这样的关系。但是,这些已经由您在教师和学生模型上定义的 ForeignKeys 的 reverse 关系提供。
-
@DanielRoseman 是的,我知道,这是一个愚蠢的开始错误,它已经被修复了。谢谢!
标签: django django-models foreign-key-relationship cross-reference