вот есть такие модельки обычные
# coding: utf-8
from django.db import models
class Category(models.Model):
name = models.CharField('Категория товара', max_length=64)
class Product(models.Model):
category = models.ForeignKey(Category, verbose_name='Категория')
name = models.CharField('Наименование товара', max_length=128)
price = models.DecimalField('Цена единицы, руб.', max_digits=10, decimal_places=2)
как с помощью Django ORM выбрать товары, цена которых больше или равна 100 руб., сгруппировать по категориям и посчитать количество товаров в каждой категории?
делаю так:
Category.objects.filter(product__price__gte=100).annotate(product_name=F('product__name'), product_price=F('product__price'), count=Count('product'))
но выходит, что count 1 всегда
а есть сделать так
Category.objects.filter(product__price__gte=100).annotate(count=Count('product'))
то count показывает то что надо