繁体   English   中英

外键反向查找Django的更快方法

[英]Faster way of foreign key reverse lookup django

在Django中对外键实体进行反向查找的更快方法是什么?

是吗

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

要么

ForeignModelObject.mymodel_set.all()

当获得大量记录时,建议使用以下哪一项? 我正在使用Mysql

第二个无疑更快。 但这是因为他们根本没有做同一件事。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM