1

我目前在列表视图中使用内置的 Django 分页来显示用户的查询集,效果很好。现在,我想随机化输出,但如果我将查询集拉到一个列表中并打乱对象,当我前往不同的页面时,整个用户列表都会打乱。

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

1 回答 1

3

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

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
于 2013-10-30T20:08:17.187 回答