猿问

django OneToOneField和ForeignKey有什么区别?

django OneToOneField和ForeignKey有什么区别?

django OneToOneField和ForeignKey有什么区别?



慕村9548890
浏览 737回答 3
3回答

哈士奇WWW

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

也OneToOneField可用作主键以避免密钥重复。一个人可能没有隐式/显式自动对话models.AutoField(primary_key=True)但使用OneToOneField主键代替(UserProfile例如想象模型):user = models.OneToOneField(     User, null=False, primary_key=True, verbose_name='Member profile')
随时随地看视频慕课网APP
我要回答