Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中反向关系的性能影响_Python_Django_Orm_Model - Fatal编程技术网

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

Python Django中反向关系的性能影响,python,django,orm,model,Python,Django,Orm,Model,我正在建立我的模型,我试图避免使用太多的关系。 我有以下设置: 型号:人 一些人(一小部分人)需要与其他人建立M2M关系。让我们把这种关系称为“知道”(反向关系称为“被知道”) 为了避免在人类身上设置许多领域,我制作了一个著名的人类模型 著名的人类是一个特殊的人类阶层,有一个单一的领域(人类) 他们还有一个ManyToManyField(人类)来代表“知道”的关系 我的问题是: 由于Django创造了反向关系,我假设所有人类都会与名人有反向的“已知”关系,所以仍然存在M2M关系。我的设置是否

我正在建立我的模型,我试图避免使用太多的关系。 我有以下设置:

  • 型号:人
  • 一些人(一小部分人)需要与其他人建立M2M关系。让我们把这种关系称为“知道”(反向关系称为“被知道”)
  • 为了避免在人类身上设置许多领域,我制作了一个著名的人类模型
  • 著名的人类是一个特殊的人类阶层,有一个单一的领域(人类)
  • 他们还有一个ManyToManyField(人类)来代表“知道”的关系
我的问题是: 由于Django创造了反向关系,我假设所有人类都会与名人有反向的“已知”关系,所以仍然存在M2M关系。我的设置是否有任何性能优势


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

这太复杂了


拥有多对多关系没有性能开销。这由数据库中的中间表表示;“人类”表中没有实际字段。如果项目没有任何m2m成员,则不会存储任何数据。

这是不必要的复杂


拥有多对多关系没有性能开销。这由数据库中的中间表表示;“人类”表中没有实际字段。如果项目没有任何m2m成员,则不会存储任何数据。

谢谢。我会尝试简化所有的事情。加入操作呢?谢谢。我会尝试简化所有的事情连接操作呢?