更快的外键反向查找方式django

时间:2015-02-09 17:49:08

标签: django foreign-keys

在django中反向查找外键实体的更快方法是什么?

是吗

 query_set = MyModel.objects.filter(ForeignModel=ForeignModelObject)

ForeignModelObject.mymodel_set.all()

当涉及大量记录时,建议采用以上哪种方法? 我正在使用Mysql

1 个答案:

答案 0 :(得分:0)

第二个无疑是更快。但那是因为他们根本不做同样的事情。

第一个查询意味着“给我所有与任何ForeignModel相关的MyModel,参数为'something'。”

第二个意思是“给定这个ForeignModel实例,给我所有相关的MyModel”。

因此,如果有多个具有该参数的ForeignModel,它们可能会给出非常不同的结果。因此,第二个查询不需要执行JOIN,因此是MyModel表上的基本查询,而第一个查询涉及模型之间的JOIN。

相关问题