Аннотации заставляют оценивать кэшированный набор запросов

У меня проблемы с использованием кэша в annotate. Когда я запускаю annotate, набор запросов оценивается, игнорируя кэшированные результаты. Это делает его намного медленнее. Я хотел бы иметь возможность аннотировать свою модель без необходимости полного выполнения запроса. Возможно ли это? Если нет, то почему?

from django.core.cache import cache
from django.db.models import Exists, OuterRef

favorites = Favorites.objects.filter(item = OuterRef(‘pk’), user=user)
best_items = cache.get(‘best_items’)
best_items = best_items.annotate(is_favorite= Exists(favorites))

У меня нет достаточной репутации, чтобы комментировать, не могли бы вы поделиться своим models.py

Вернуться на верх