私は、ページネーションやその他のクールな自動化のために、ビューの1つでobject_list()メソッドを手動で使用しています。私は巨大なクエリセットをキャッシュして、object_listに影響を与える可能性のあるすべてのもの(例:request.GET ['page'])を処理しようとしますが、単純なアイデアは次のようになります。
def some_view(request):
qs = cache.get('key')
if qs == None:
qs = QS.objects.filter(some_huge_query)
cache.set('key', qs)
return object_list(queryset = qs,...)
実際には、クエリセットはテンプレートのレンダリング中にもう一度実行されます。クエリセットが実行されないようにする方法はありますか?