2013-09-24 49 views
1

我在Django模板中設置了一個查詢。它有一個價格欄。我只想顯示最後一行的價格。是否有任何模板過濾器可以幫助解決問題?django模板中queryset的最後一行

+0

工作,你有沒有閱讀/檢查Django模板的文件? –

+0

你是否試過django文檔中的[last](https://docs.djangoproject.com/en/1.5/ref/templates/builtins/#last)? – 2013-09-24 09:33:55

+0

我原以爲將視圖中的最後一行分割出來,然後在模板中調用結果會更有用,這樣,您的邏輯在碰到模板之前就會被處理。 – Thomas

回答

3

那些使用filter {{queryset |最後}}不正確。你會得到'不支持負面索引'這種方式。

所以,唯一的辦法似乎編寫自定義過濾器,或使用一個醜陋的建築,如:

{% for obj in queryset %} 
    {% if forloop.last %} 
     {{ obj.price }} 
    {% endif %} 
{% endfor %} 

UPD:根據Django的更新日誌{{queryset.last}}將從1.6

+0

queryset.last給出與您的過濾器匹配的最後一個項目,**不是**您所選集合中的最後一個項目。 forloop.last!= queryset.last在1.6中。前者幫助我! – Chris

相關問題