我是新手,我想問一些可能很基本的東西,我剛剛閱讀了關於在模型上創建關係的Django 1.9文檔尚未定義,它說:「您可以使用該模型,而不是模型對象本身的名字」比我試試吧,這是我的代碼:Django在尚未定義的模型上創建關係
@python_2_unicode_compatible
class Student(models.Model):
name=models.CharField(max_length=50)
teachers=models.ForeignKey('Teacher')
def __str__(self):
return self.name
@python_2_unicode_compatible
class Teacher(models.Model):
name=models.CharField(max_length=50)
def __str__(self):
return self.name
當我嘗試保存一個Student對象它給了我這樣的錯誤: 「OperationalError:表latihan_student沒有名爲teachers_id的列」 有人可以解釋它謝謝你很多。對不起,我的英文不好
yes我剛剛進行了遷移./manage.py makemigrations [my app],./manage.py sqlmigrate [my app] 0001和./manage.py migrate。然後,我再次嘗試保存Student對象,並再次給我一個錯誤「IntegrityError:NOT NULL約束失敗:latihan_student.teachers_id」。 IAM絕對好奇如何使一個沒有被定義的模型的關係..... –
我覺得你很困惑。文檔正在討論編寫模型,以便您可以在指向它的模型之前定義ForeignKey字段。我認爲*你正在談論的是如何與尚未定義的*實例*建立關係,這顯然是不可能的。 –
是的,你是rigtht ...我沒有做任何老師的對象,我認爲這使得最新的錯誤,然後我做一個老師對象,我也添加了一個關鍵字參數給我foreignkeyrelationship(空=真),並做了我做了它....謝謝你很多 –