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
提交
取消