Пожалуйста, не делайте этого в шаблоне. Язык интерфейса Django намеренно ограничен, чтобы люди не могли писать бизнес-логи c в шаблоне. Более того, даже если бы это было возможно, это было бы неэффективно из-за проблемы N + 1 .
Вы можете посчитать количество элементов в категории, определив набор запросов:
from django.db.models import Count
Category.objects.annotate(
<b>num_items=Count('subcategory__item')</b>
)
Объекты Category
, которые возникают из этого набора запросов, будут иметь дополнительный атрибут .num_items
, который содержит общее количество элементов, связанных с Subcategory
, связанным с , которые Category
.