24
在django中,如果我將模型中的字段設置爲外鍵,則"_id"
會附加到該字段的名稱。這怎麼能被阻止?防止django將「_id」附加到外鍵字段
在django中,如果我將模型中的字段設置爲外鍵,則"_id"
會附加到該字段的名稱。這怎麼能被阻止?防止django將「_id」附加到外鍵字段
您可以在現場的db_column
屬性設置爲任何你想。
在模型中使用外部字段時,Django會創建兩個字段:一個用於實際鏈接,另一個用於引用另一個模型。
class A(Model):
i = IntegerField()
class B(Model):
a = ForeignKey(A)
在B
現在有兩個字段:a
和a_id
。 a_id
是存儲在數據庫中的唯一ID,而a
可以用來直接訪問字段A
,像這樣:
b = B.objects.get(...)
b.a.i = 5; # Set the field of A
b.a.save() # Save A
這樣做。謝謝! –
有一個像FK_AUTO_ID = False這樣的設置會非常有用,我碰巧正在與一個遺留數據庫進行集成,這個數據庫必須編寫非乾性代碼,比如basiscd = ForeignKey('...',db_column ='basiscd',related_name = 'basiscd',它有點惱人,表格在並行場景中有auto_id = False –
甚至更好FK_AUTO_ID ='cd'在我的例子中,這個項目中的所有FK都擁有這個約定,這不同於Django的默認(假設FK_AUTO_ID ='_ id')。 –