我正在使用django-endless-pagination与其推特风格的分页。现在我想在混乱的查询集上分页。我试图添加
return Fact.objects.all().order_by('?')
但是物体可以出现超过1次 我该如何改变这种行为?
答案 0 :(得分:0)
您可以尝试的另一种方法是我使用的,我在另一个StackOverflow帖子here上找到的方法。
import random
items = sorted(Fact.objects.all().order_by('nr'), key=lamda x: random.random())
return items
答案 1 :(得分:0)
我认为在这种情况下使用分页会产生误导。当用户点击第2页时,它实际上不是第二页,它只是另外20个项目。
一个更好的选择是每次用户点击它时,只需一个按钮(例如,称为Fetch)并获取20个项目(或任何页面大小)。
为避免同一项目出现两次,您可以在会话中保留已查看的ID列表,并将其从后续查询中排除。