0
..Djangoを最適化する:モデル情報を一括で取得する..?私はこのような何かをやっているDjangoのビューで
lists = Stuff.objects.exclude(model2=None)
for alist in lists:
if alist.model2.model3.id == target_id:
addSomeStuff
遅さは、if文でモデル化するモデル(データベースの行)から行くから来ています。
リストに約486個のアイテムしかない場合、これは実際に実行するのに約1秒かかります。 486 * 2 + 1 dbルックアップが実行されているため、これは遅いと私は考えている。もし私がこれを書き直す場所があれば、model2テーブルとmodel3テーブル全体を一度に取得し、そこからフィルタリングすると、3 dbヒットになるはずです。それはdjangoが作るすべてのnicenessを破壊するでしょう。
djangoにこのような一括データ検索をさせる方法はありますか?