TEMPLATE:
<ul id="bugs-list">
{% for group in groups %}
<h2>{{ group.name }}</h2> <span></span>
{% for data in group.grab_bugs %}
<li><a href="{{data.get_absolute_url}}">{{data.name }}</a></li>
{% endfor %}
{% endfor %}
</ul>
models.py:
class BrowserGroups( models.Model ):
name = models.CharField( max_length=100 )
slug = models.SlugField(unique=True)
browsers = models.ManyToManyField( 'Browser' )
def grab_bugs(self):
bugs = Bug.objects.filter(browser__browsergroups=self,really_bug=True).distinct()
return bugs
def __unicode__(self):
return self.name
class Meta:
verbose_name_plural = 'Browser Groups'
我正在尝试在data
附近渲染错误数量<h2>
。什么是在h2附近包括data
计数的有效方法?我应该在我的模型类中定义一个单独的函数来返回错误的总数吗?还是有更有效的方式?
答案 0 :(得分:2)
{% with group.grab_bugs as distinct_bugs %}
<h2>{{ group.name }}</h2> (Count: {{ distinct_bugs.count }})
{% for data in distinct_bugs %}
<li><a href="{{data.get_absolute_url}}">{{data.name }}</a></li>
{% endfor %}
{% endwith %}
说明:grab_bugs
类的Group
方法返回Bug
个实例的querset。要计算错误,请在查询集上调用count()
方法。
这将花费您两次查询(不包括循环内的查询)。一个得到计数,然后下一个检索错误列表。