首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django中的一对一关系

问django中的一对一关系
EN

Stack Overflow用户
提问于 2018-08-13 19:51:49
回答 1查看 473关注 0票数 1

在Django模型中使用外键时,自动将_ id添加到相应的字段中,同时将其保存到数据库中。Django模型中的一对一和多对多关系也会发生同样的情况吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-13 19:55:46

简而言之:它发生在OneToOneFields上,而不是 ManyToManyFields上。

OneToOneField实际上只是一个ForeignKey字段,但带有unique=True和一些小的更改(例如,反向不是model_set,而只是model,而且反向也直接产生模型对象,而不是queryset,因为最多只有一个这样的对象)。因此,对于OneToOneField,我们将有一个fieldname_id列。

请注意,对于ForeignKey/OneToOneField,此类列仅存在于您定义关系的位置,而不存在于目标模型。如果A有一个指向B的OneToOneField,那么您可以查询b_id,但是在B模型上不存在a_id。

对于ManyToManyField来说,情况并非如此。这种关系不是在该表的列中表示,而是由单独的表(链接到关系中的两个模型)表示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51821722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档