17
在我的博客應用程序中,我想顯示博客文章的列表以及與此帖相關的第一張圖片。現在我這樣做:獲取模板中QuerySet的第一項
{% for image in entry.image_set.all|slice:"1" %}
<img src="{{ image.get_absolute_url }}">
{% endfor %}
有沒有我不知道的模板快捷方式,或者我應該只寫我自己的管理器?
在我的博客應用程序中,我想顯示博客文章的列表以及與此帖相關的第一張圖片。現在我這樣做:獲取模板中QuerySet的第一項
{% for image in entry.image_set.all|slice:"1" %}
<img src="{{ image.get_absolute_url }}">
{% endfor %}
有沒有我不知道的模板快捷方式,或者我應該只寫我自己的管理器?
沒有任何短,但你可以使用first
:
{% with entry.image_set.all|first as image %}
<img src="{{ image.get_absolute_url }}">
{% endwith %}
由於Django的1.6,你可以做
<img src="{{ entry.image_set.first.get_absolute_url }}">
感謝。它稍微更乾淨,「感覺」更好。計算有沒有區別? – vorpyg 2010-08-19 10:09:18
@voypyg - 我會檢查它是否真的從數據庫中獲取所有內容 - 查看執行的SQL。 – 2010-08-19 10:25:12
它看起來像兩個篩選器激活SQL LIMIT子句。 – vorpyg 2010-08-19 11:12:28