我有一個查詢根據特定的字段對錶進行排序。該表與一個競賽有關,因此瞭解該位置非常重要。如何在Django中查詢枚舉結果?
由於表可以增長到很多行,我使用通用視圖對它進行分頁(每頁25行),但是我得到的問題是在表格中顯示編號位置。該信息使用order_by
子句生成。
Result.objects.all().order_by('field')
由於我使用通用視圖能夠輕鬆分頁,我不使用enumerate
起初有讓我調整結果的任何視圖功能,例如,我想使用forloop.counter
來枚舉沒有表格的位置,但當然,當您呈現第100頁時,我們會得到數字1,2,3,4,5 ... 25,而不是2500 ,2501,2502 ...
我已經看到了annotate()
方法,看我是否可以添加到每個結果它佔據的位置l,但似乎只是添加像man這樣的統計數據......
有什麼方法可以將每個查詢結果添加到它所佔據的位置嗎?
當你能夠得到你的通用視圖頁碼模板可以一起用它來與forloop.counter來計算正確的位置。如果每頁有25個結果,並且想要計算第二頁的值,則只需使用以下代碼:forloop.counter +(pagenumber - 1)* 25 – Jens 2010-02-10 10:35:13