Ich spucke meinen Kategorienbaum so aus:
<div id="categories-tree">
{% load mptt_tags %}
{% full_tree_for_model bugs.Category as cats cumalative count bugs.Bug.categories %}
{% for node, structure in cats|tree_info %}
{% if structure.new_level %}<ul><li>{% else %}</li><li>{% endif %}
<a href="stackoverflow.com/categories/{{node.slug}}">{{ node }}</a>
{% for level in structure.closed_levels %}</li></ul>{% endfor %}
{% endfor %}
</div>
Ich möchte jedoch auch eine <span class="count">13</span>
für meine inneren Kategorien (beginnend mit der 3. Ebene vielleicht?) die Anzahl der Wanzen, die mit jeder Kategorie verbunden sind, da meine Wanzen mit mehreren Kategorien verbunden sein können.
Ich denke, ich brauche etwas wie dieses Snippet innerhalb meiner verschachtelten for-Schleife, aber ich bin nicht ganz sicher, wie es zu tun:
{% drilldown_tree_for_node [node] as [varname] count [foreign_key] in [count_attr] %}
Hier sind meine Modelle als Referenz:
class Bug( models.Model ):
name = models.CharField( max_length=100 )
slug = models.SlugField(unique=True)
summary = models.TextField()
date_added = models.DateTimeField()
poster = models.ForeignKey(User)
categories = models.ManyToManyField('Category')
class Category ( models.Model ):
name = models.CharField( max_length=100 )
parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
slug = models.SlugField(unique=True)
mptt.register(Category)
Der aktuelle Stand ist also:
<ul>
<li><a href="#">CSS</a>
<ul>
<li><a href="#">Position</a>
<ul>
<li><a href="#">Absolute</a></li>
<li><a href="#">Absolute Fixed</a></li>
</ul>
</li>
</ul>
</li>
</ul>
Und ideal:
<ul>
<li><a href="#">CSS</a>
<ul>
<li><a href="#">Position</a>
<ul>
<li><a href="#">Absolute</a> <span>13</span></li>
<li><a href="#">Absolute Fixed</a> <span>10</span></li>
</ul>
</li>
</ul>
</li>
</ul>