为了账号安全,请及时绑定邮箱和手机立即绑定

django OneToOneField和ForeignKey有什么区别?

django OneToOneField和ForeignKey有什么区别?

慕村9548890 2019-08-23 15:28:29
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值对应的记录。


查看完整回答
反对 回复 2019-08-23
?
慕虎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')


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 736 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信