我試圖與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