следующий го#нокод.
def get_in_cart(self, obj):
count = 0
cart = Cart.objects.prefetch_related('cart_items').filter(user=self.context['request'].user, restaurant=obj.restaurant).first()
if cart:
for cart_item in cart.cart_items.all():
if obj.id == cart_item.dish_id:
count = cart_item.quantity
return count
То есть, он проверяет, есть ли этот элемент в какой либо корзине пользователя и возвращает вместе с объектом, его количество в корзине.
Вопрос следующий. Допустим я отдаю список из 100 объектов. Эти запросы в БД (которые в get_in_cart (сериалайзер метод филде)) умножаться на 100?
будет 2 запроса
Почему?
Обсуждают сегодня