這是我在for循環Django的多對多模板
{{ product.feature_set.all.1.value }}
我想1號更改爲forloop.counter模板標籤。這是可能的嗎?
喜歡:
{{
product.feature_set.all.forloop.counter.value
}}
它不喜歡的工作,但有沒有辦法做到這一點?
這是我在for循環Django的多對多模板
{{ product.feature_set.all.1.value }}
我想1號更改爲forloop.counter模板標籤。這是可能的嗎?
喜歡:
{{
product.feature_set.all.forloop.counter.value
}}
它不喜歡的工作,但有沒有辦法做到這一點?
這沒有意義。你應該循環查詢集本身。
{% for feature in product.feature_set.all %}
{{ feature }}
{% endfor %}
由於@丹尼爾的答案不滿足你,我想你可能想嘗試編寫一個自定義過濾器。這是一個粗略的草稿:
@register.filter
def custom_m2m(queryset, forloop_counter):
return queryset[forloop_counter].value
你可以用它在你的模板是這樣的:
{% for ... %}
{{ product.feature_set.all|custom_m2m:forloop.counter }}
{% endfor %}
這是我知道如何做到這一點的最好和唯一的方法。原因是product.feature_set.all.forloop.counter會嘗試product.feature_set.all.forloop,並在嘗試意識到這是不可能的時候停止嘗試。 – Jake 2012-09-24 14:01:21
不,這不是我想要的。我知道你可以做到這一點。我想像我問的那樣。有沒有可能? – Harry 2010-09-19 21:29:23