我有一个查询根据特定的字段对表进行排序。该表与一个竞赛有关,因此了解该位置非常重要。如何在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