使用django-mppt
我想浏览我的类别层次结构,显示与其任何子项中当前类别相关的对象数量。
与所示示例中的drill_down_for_node
非常相似,但仅限于当前节点的子节点......
最佳将是
{% recursetree obj.get_children cumulative count model.Foreignkey.category in o_count%}
<li>
<h2><a href="{{ node.get_absolute_url }}">{{ node }}</a></h2>
{% if not node.is_leaf_node %}
<ul class="children">
<a href="{{ children.get_absolute_url }}">{{ children }} ({{o_count}})</a>
</ul>
{% endif %}
</li>
{% endrecursetree %}
任何指针?
答案 0 :(得分:2)
在TreeManager上找到一个函数:
https://github.com/django-mptt/django-mptt/blob/master/mptt/managers.py#L250
将计数添加到视图中的查询集:
context['qs_with_related_count'] = model1.objects.add_related_count(
obj.get_children(),
model2,
'category',
'o_count',
True
)
并在模板中:
{% recursetree qs_with_related_count %}
<li>
<h2><a href="{{ node.get_absolute_url }}">{{ node }} ({{ node.o_count }})</a></h2>
{% if not node.is_leaf_node %}
<ul class="children">
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
不幸的是,我试图将ManyToManyField
用作rel_field
:
https://github.com/django-mptt/django-mptt/issues/90
但看起来你很幸运('类别'不是'类别'):)