Доброе время суток, подскажите пожалуйста вот такой момент: Требуется посчитать количество записей детей parent_tree.Использую mptt.

model:

class Category(MPTTModel):

parent = TreeForeignKey(u'self', verbose_name=_(u'Parent'), blank=True, null=True, related_name=u'children')
name = models.CharField(_('Name'), max_length=255, db_index=True)
description = models.TextField(_('Description'), blank=True)
slug = AutoSlugField(populate_from='name', slugify=custom_slugify, unique=True)
is_active = models.BooleanField(verbose_name=_('Is active'), default=None)

class Product(models.Model):

category = TreeForeignKey(Category,verbose_name=_('Category'),related_name=u'entries',)
user_name = models.ForeignKey(User, related_name='+', to_field=u'username')
title = models.CharField(_('Product title'), max_length=255)
slug = AutoSlugField(populate_from='title', slugify=custom_slugify, unique=False)

widget:

@register.inclusion_tag('apps/catalogue/inclusion/categories_list.html')
def menu_tag():

    return {
        'categories': Category.objects.filter(is_active=True)
    }

шаблон:

{% drilldown_tree_for_node categories as drilldown cumulative count catalogue.Product.id in product_count %}
{% for node,structure in drilldown|tree_info %}
    {% if structure.new_level %}<ul><li>{% else %}</li><li>{% endif %}
    {% ifequal node categories %}
        <strong>{{ node.name }}</strong>
    {% else %}
        <a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
        {% ifequal node.parent_id categories.pk %}({{ node.product_count }}){% endifequal %}
    {% endifequal %}
    {% for level in structure.closed_levels %}</li></ul>{% endfor %}
{% endfor %}

получаю ошибку 'TreeQuerySet' object has no attribute '_tree_manager'. пробовал:

  • добавить objects=TreeManager() в модель Сategory

  • _tree_manager добавлял в

    def menu_tag():

    return {
        'categories': Category.objects.filter(is_active=True)
    }
    
  • Пробовал агрегацию.

Может кто-то делал подсчет записей и вывод их в древе. Если да, то укажите путь пожалуйста. Вопрос то вроде не сложный)