感謝來自另外一個問題一個非常有用的提示我學到我可以在模板切片它是這樣限制列表中值的數量:Django的模板片 - 倒車訂購
{% for comment in thread.comment_set.all|slice:":3" %}
現在我想讓我評論的最後3個結果,所以我想出一個簡單的「:-3」或「-3」會做的伎倆,唉:
Caught an exception while rendering: Negative indexing is not supported.
而且使用:
{% for comment in thread.comment_set.all|slice:":3" reversed %}
不要這樣做,因爲如果我有5條評論,而不是1,2,3,它會以3,2,1順序顯示前三條。
有沒有什麼辦法可以顯示帖子的最後3條評論,而無需進入我的數據庫?我很樂意純粹使用模板系統。
SOLUTION
{% for comment in thread.comment_set.all|dictsortreversed:"created"|slice:"3" %}
顯示最後三個拜我爲表的創建時間戳。
我喜歡我得到和修改的答案是,我實際上在拉我的線程表,然後從模板中拉出相應的註釋,以便Django正在完成提取正確註釋的工作。我會說我並不十分在意這樣一個事實,即它只將每一個評論都拉到切片上,所有的都保存爲3,它確實很好地工作,因爲它把它們全部拉出來,然後按照它們創建的日期對它們進行分類,然後將它們切掉。 – TheLizardKing 2009-12-14 03:11:21
如果有一個我可以編寫的查詢可以提取X個線程和它們各自的*最後*三個評論,那麼我會是黃金。相反,我這樣做。 – TheLizardKing 2009-12-14 03:12:54
如果可以的話,我會給你所有的+1: -/15 Rep :( – TheLizardKing 2009-12-14 03:13:27