Я использую метод 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,...)
На самом деле набор запросов выполняется еще раз во время шаблонарендеринг.Есть ли способ предотвратить выполнение набора запросов?