Как фильтровать связанные объекты, получаемые с помощью prefetch_related, без выполнения дополнительных SQL-запросов?

Нижеприведенный фрагмент взят из документа Django: https://docs.djangoproject.com/en/4.1/ref/models/querysets/

>>> pizzas = Pizza.objects.prefetch_related('toppings')
>>> [list(pizza.toppings.filter(spicy=True)) for pizza in pizzas]

Во второй строке выполняются дополнительные SQL-запросы. Есть ли в Django нативный способ написания вышеописанного, который фильтрует в памяти, а не выполняет SQL запросы к базе данных?

альтернативно я могу просто написать это, не генерируя больше SQL-запросов:


[[topping for topping in pizza.toppings if topping.spicy == True] for pizza in pizzas]
Вернуться на верх