django OneToOneField和ForeignKey有什么區別?django OneToOneField和ForeignKey有什么區別?
3 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
OneToOneField:如果第二個表與之相關
table2_col1 = models.OneToOneField(table1,on_delete=models.CASCADE, related_name='table1_id')
table2將只包含一個對應于table1的pk值的記錄,即table2_col1將具有等于表的pk的唯一值
table2_col1 == models.ForeignKey(table1, on_delete=models.CASCADE, related_name='table1_id')
table2可能包含多個與table1的pk值對應的記錄。

慕虎7371278
TA貢獻1802條經驗 獲得超4個贊
也OneToOneField
可用作主鍵以避免密鑰重復。一個人可能沒有隱式/顯式自動對話
models.AutoField(primary_key=True)
但使用OneToOneField
主鍵代替(UserProfile
例如想象模型):
user = models.OneToOneField( User, null=False, primary_key=True, verbose_name='Member profile')
添加回答
舉報
0/150
提交
取消