2011-01-31 154 views
1

我在models.py区域和调查中有2个类。调查有region_select=model.ForeignKey(region)等一些属性和区域只有name=models.CharField。使用django通用视图我做了一个项目/地区列表,我想有一个过滤数量的这些项目。我的模板的样子: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.它不复制/粘贴重写时可能发生的简单错误。

回答

3

尝试:

Region.survey_set.all.count 
+0

我_set看到文档,但它会自动使这个,我的意思是objectName_set部分,因为我认为这只是一种方法来告诉你给查询集。 – JackLeo 2011-01-31 07:47:26