2011-01-21 7 views
0

私はページ上で複数回使用される 'categories'モデルを持っています。最初はすべてのカテゴリを取得しているので、同じデータを複数回取得することでデータベースクエリを削減したいと考えています。Django - クエリの結果を保存する

最初のクエリですべてのカテゴリが取得されているので、この情報をモデルに保存する方法があるので、後でデータを再度参照するときに再度データベースにヒットする必要はありません。

カテゴリを格納する連想配列またはdictのようなものでしょうか?

ご協力いただければ幸いです。

答えて

1

Djangoクエリーセットは​​3210とです。したがって、クエリーセットがアクセスされるまでデータベースはヒットしません。また、how queries are evaluatedをご覧ください。

コードを投稿することができれば、最適なクエリの記述方法を理解するのに役立ちます。

+0

申し訳ありませんが、私は実際にコードを持っていません、それはもっと一般的な質問です。ブログを想像すると、右側にカテゴリが表示されますが、左側のブログで各カテゴリの個別カテゴリを表示します。私たちはすでにデータベースのページの右側にあるカテゴリのリストを取得しているので、私は個々のブログのエントリについてもう一度やりたいとは思わないでしょう。 – Hanpan

+0

@ハンパン - しかし、これらは完全に異なる2つのクエリです。両方を尋ねる必要があるので、キャッシュがどのように役立つかはわかりません。 –

+0

DBを2回押すのは問題ありません。大きいリストのすべてのブログのためにそれを当てるかもしれない。あなたはたぶんDjangoにそれをさせるために(おそらく '愚かな'という意味で)頑張らなければならないでしょう。 – Spacedman