0

我正在做一個Django項目,與學院,教師和學生進行簡單的測試。Django Models.py N到N的關係,總是說一個對象沒有定義

我想這一點:

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) 

的問題是,如果我實現了第一個學生,那並不覺得theacher做一個外鍵,同樣的,如果我實現了第一個教師。

有什麼方法可以在實現它們之前像C中的函數一樣定義模型?

謝謝!

+1

儘管Aamir的回答是正確的,但您的模型沒有任何意義。 ForeignKey是多對一的關係,不能用於定義「老師」和「學生」之類的關係。但是,這些已經由您已經在教師和學生模型中定義的ForeignKeys的* reverse *關係提供。 –

+0

@DanielRoseman是的,我知道,這是一個愚蠢的錯誤,它已經被修復了。 謝謝! – rul3s

回答

0

就在Student模型設置外鍵Teahcer模型作爲字符串:

teachers = models.ForeignKey('Teacher') 

如前所述here

如果你需要創建一個尚未被 模型的關係定義,您可以使用模型的名稱,而不是模型 對象本身

+0

完美的男人!像魅力一樣工作,它比我做得更有意義。 謝謝! – rul3s

+0

很高興我有幫助。 –