Как подсчитать количество товаров в категории django

Мне нужно показать, сколько товаров в каждой категории, например, у меня есть 3 товара в категории Телефоны, и я хочу сделать так Phones(3). Я пытался использовать некоторые методы в моделях, но это не работает

def count_products(self):
      return Category.objects.all().count()

также пробовал в views.py

        context = super().get_context_data(**kwargs)
        context['grade_info'] = self.get_ordered_grade_info()
        context['category'] = Category.objects.count()
        return context

Вы можете использовать функцию annotate для вычисления данных на уровне базы данных, например:

from django.db.models import Count
catigouris = Category.objects.annotate(
items_count=Count('related_name_to_items')
)

Приведенный выше запрос ORM вернет дополнительный атрибут items_count, сгруппированный по категориям.

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