首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django中反向关系的性能影响

Django中反向关系的性能影响
EN

Stack Overflow用户
提问于 2017-01-27 16:52:50
回答 1查看 220关注 0票数 0

我正在建立我的模型,我试图避免使用ManyToMany关系。我有这样的设置:

  • 模型:人类
  • 有些人(一小部分)需要与其他人建立M2M关系。让我们将这种关系称为“知道”(反向关系称为"is_known_by")。
  • 为了避免在人类中设置ManyToManyField,我制作了一个FamousHumans模型。
  • FamousHumans是人类的一个特殊类,有一个OneToOneField(人)
  • 他们也有一个ManyToManyField(人类)来代表“知道”的关系。

我的问题是:既然Django创建了反向关系,我假设所有的人都会与FamousHumans有反向的“FamousHumans”关系,所以仍然存在M2M关系。我的设置有什么性能上的好处吗?

数据集将相当大,只有少数人需要M2M关系。我主要关心的是表演。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-27 16:57:19

这是不必要的复杂。

有一个多对多的关系没有性能开销。这是由数据库中的中间表表示的;人工表中没有实际字段。如果一个项目没有任何m2m成员,那么就不会存储任何数据。

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

https://stackoverflow.com/questions/41899083

复制
相关文章

相似问题

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