【发布时间】:2011-03-22 23:53:20
【问题描述】:
在我的一个页面上,我想显示已排序的对象列表的一个子集。相关对象的整个列表非常长,并且在用户查看页面时很有可能发生更改。我不介意页面不是最新的,但我确实需要确保当用户转到下一页时,用户将看到原始排序列表中的下 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,但是对象的数量可能太大,这个解决方案不现实。
是否有一种简单的方法可以对查询集进行分页并继续使用从该原始查询集返回的结果,而不是重新获取可能已更改的查询集?
感谢您提供的任何见解!
【问题讨论】:
标签: python django pagination