2011-01-31 152 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