我试图与Django的一些有效的查询在下面的循环:Django的:准备查询,但不执行它
for division in divisions:
playoffs = league.playoff_set.filter(division=division, double_elimination=True)
我想,也许在循环之前只选择那些与double_elimination=True
过滤playoffs
会提高它:
playoffs = league.playoff_set.filter(double_elimination=True)
for division in divisions:
division_playoffs = playoffs.filter(division=division)
但现在我担心的是,这是在循环,而不是在先前检索结果过滤击发playoffs
查询在每次运行。
它按预期工作还是我担心?我应该用Q
来建立这些性能更好的查询吗?
Django查询集很懒,它们没有执行直到你需要结果。 – Sayse