Django paginator包含所有以前页面的所有元素

时间:2013-02-23 13:04:59

标签: django paginator

我用Django阅读了docs on Pagination,无法在那里找到问题的解决方案。我想对一个查询集进行分页(每页5个元素),以便我的object_list包含所有以前页面的所有元素,直到所请求页面的所有元素。

当我呼吁寻找第2页的对象时,通常会发生这种情况:

>>> p = Paginator(queryset, 5)  # 5 elements per page
>>> page2 = p.page(2)
>>> page2.object_list
['6', '7', '8', '9', '10']

我想得到的是:

['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在这里输入代码这是正常的,因为,这就是Paginator所做的对象

page1 = p.page(1)
page1.object_list

[1,2,3,4,5](每页5项,从第(1)项到第(5)项,这是第一页)

page2 = p.page(2)
page2.object_list

['6','7','8','9','10'](每页5项,从第(6)项到第(10)项,这是第二页)

对象Paginator的定义: 向Paginator提供一个对象列表,以及您希望在每个页面上拥有的项目数