2010-08-19 58 views
17

在我的博客應用程序中,我想顯示博客文章的列表以及與此帖相關的第一張圖片。現在我這樣做:獲取模板中QuerySet的第一項

{% for image in entry.image_set.all|slice:"1" %} 
    <img src="{{ image.get_absolute_url }}"> 
{% endfor %} 

有沒有我不知道的模板快捷方式,或者我應該只寫我自己的管理器?

回答

40

沒有任何短,但你可以使用first

{% with entry.image_set.all|first as image %} 
    <img src="{{ image.get_absolute_url }}"> 
{% endwith %} 
+0

感謝。它稍微更乾淨,「感覺」更好。計算有沒有區別? – vorpyg 2010-08-19 10:09:18

+1

@voypyg - 我會檢查它是否真的從數據庫中獲取所有內容 - 查看執行的SQL。 – 2010-08-19 10:25:12

+0

它看起來像兩個篩選器激活SQL LIMIT子句。 – vorpyg 2010-08-19 11:12:28

2

由於Django的1.6,你可以做

<img src="{{ entry.image_set.first.get_absolute_url }}"> 
相關問題