django OneToOneField和ForeignKey有什么區(qū)別?django OneToOneField和ForeignKey有什么區(qū)別?
3 回答

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

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