Задать вопрос

Кэширует ли Django результаты SQL запросов?

В шаблоне вывожу переменную sql_queries, проходясь по ней циклом.
Вывожу все SQL запросы и один запрос повторяется дважды. Сам код взят из книги, но возможно я что-то не то сделал, т. к. не точь в точь пишу.

Вопрос: он реально делает два этих запроса или сохраняет где-то результат первого и использует в дальнейшем? Нужно ли здесь запарываться?
Скриншот кода удалён модератором.

Сам запрос в коде вот такой:
products = Product.objects.filter(id__in=product_ids)


Он вызывается в методе __iter__ корзины продуктов.
Сначала я итерируюсь по объекту корзины во вьюхе, а потом в шаблоне.

Код метода __iter__ корзины:
Скриншот кода удалён модератором.

Код вьюхи (первая итерация for item in cart, вторая в шаблоне detail.html):
Скриншот кода удалён модератором.
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@mkone112
Начинающий питонист.
Да кеширует. Это не тот случай - для этого есть prefetch_related
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы