gpt4 book ai didi

python - Django:在基于类的 View 中使用分页随机化查询集

转载 作者:行者123 更新时间:2023-11-30 23:31:49 26 4
gpt4 key购买 nike

我目前正在 ListView 中使用内置的 Django 分页来显示用户的查询集,效果很好。现在,我想随机化输出,但如果我将查询集拉入列表中并随机排列对象,则当我前往不同页面时,整个用户列表将被随机排列。

class ExampleListView(ListView):
paginate_by = 10
...
def get_queryset(self):
output = list(UserProfile.objects.all())
random.shuffle(output)
return output

最佳答案

好的,我可以建议您使用自定义 Paginator 类覆盖 paginator_class

class ExampleListView(ListView):
paginate_by = 10
paginator_class = ShuffledPaginator
...

例如分页器可以跟随

class ShuffledPaginator(Paginator):
def page(self, number):
page = super(ShuffledPaginator, self).page(number)
random.shuffle(page.object_list)
return page

关于python - Django:在基于类的 View 中使用分页随机化查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com