我在models.py Region和Survey中有2个类。调查有region_select=model.ForeignKey(region)
,其他一些属性和区域只有name=models.CharField
。使用django通用视图我创建了一个项目/区域列表,我希望有一个过滤的这些项目的数量。我的模板看起来像:
<..>
<ul>
{% for Region in regions_list %}
<p><b>{{ Region }}</b> <i>(count: {{ ??? }} )</i><br>
{% for Survey in object_list %}
{% if Survey.region_select = Region %}
<a href="{% url region-display Region.id %}">{{ Survey }}</a>
{% endif %}
</p>
{% endfor %}
{% endfor %}
</ul>
<..>
region_list是Region.objects.all()
的查询集
与对象列表相同(Survey.objects.all()
)
到目前为止,我得到了完美的清单,虽然我想分别为每个地区计算这些项目。
我已经尝试了object_list.filter(region_select=Region).count
,但是编写任何内容到过滤器最终都会出现模板错误,说它无法解析我给过滤器的内容。什么到???
地方的建议?那么自定义{{name | filter}}过滤器怎么样?再次,我只需要它会计算对象...哦,我也尝试添加相同Survey.objects.filter(region_select=Region).count
的方法,但它最终写了一个地方和那些对象的类型(?!?)。
P.S。它不能复制/粘贴,重写时可能会出现如此简单的错误。
答案 0 :(得分:5)
尝试:
Region.survey_set.all.count