django模板过滤器:计算对象

Jac*_*Leo 2 django templates count filter

我在model.py区域和调查中有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>
<..>
Run Code Online (Sandbox Code Playgroud)

region_list是Region.objects.all() 与对象列表(Survey.objects.all())相同的queryset。到目前为止,我获得了理想的列表,尽管我想分别计算每个区域的那些项目。我已经尝试过,object_list.filter(region_select=Region).count但是编写任何过滤器都导致模板错误,提示它无法解析我给过滤器的内容。有什么建议???吗?自定义{{name | filter}}过滤器怎么样?再次,我只需要它可以计算对象...哦,我也尝试添加相同的方法,Survey.objects.filter(region_select=Region).count但是最终写出了那些对象的位置和类型(?!?)。

PS不能复制/粘贴,因此在重写时可能发生了简单的错误。

adi*_*ieu 5

尝试:

Region.survey_set.all.count
Run Code Online (Sandbox Code Playgroud)