У меня 3 модели: Product, Brand, Shop
.Я хочу сосчитать Products
, которые доступны для Brands
в данном Shop
.
Например:
Adidas 50
Puma 25
Теперь у меня есть:
queryset = Brand.objects
.filter(brand_id__in=id_list)
.order_by('brand_name')
queryset = queryset.annotate(amount_of_products=Count('products'))
Но это дает мне количество продуктов из всех магазинов.
Я пробовал как здесь :
queryset = queryset.annotate(
amount_of_products=Count(
Case(When(shops__shop_name__in=[shop], then=1))
))
Но я получаю amount_of_products = 1
за каждый Brand
в списке.
Есть ли способ сделать это условное выражение в Django 1.11?