在我的一个页面上,我想显示一个已排序的对象列表的子集。整个相关对象列表非常长,并且在用户查看页面时很有可能发生变化。我不介意页面不是最新的,但我确实需要确保当用户转到下一页时,用户将看到原始排序列表中的下n个对象。因此,由于可能会更改数据,使用django的内置分页或非常好的库(如Django-endless-pagination)在转到“下一页”时将无法返回正确的结果。
举一个我的意思的例子,说我们有对象[1,2,3,4,5,6,7,8,9,10,11,12],并希望每页显示5个,排序从小到大。第一页看起来像:
1,2,3,4,5。
但在查看此页面时,删除了3和4。如果我们转到“下一页”页面,分页将重新查询该集并返回:
8,9,10,11,12
我意识到这是分页的预期行为,但我想要一个简单的方法来显示下一页:
6,7,8,9,10
最明显的解决方案是做一些客户端分页,我意识到这有一个nice jquery library,但对象的数量可能太大,这个解决方案是不现实的。
在查询集上是否有一种简单的分页方法,并继续使用从原始查询集返回的结果,而不是重新获取可能已更改的查询集?
感谢您给我的任何见解!
答案 0 :(得分:3)
可能的解决方案是,如果你创建自己的分页功能,而不是引用某个页面的下一个链接,它可以传递一个记录,这是下一页的最高记录
问题是这只有在添加/更改的项目只是列表中的第一项时才有效