使用分页和过滤后的结果不起作用

时间:2018-07-02 07:05:14

标签: django django-templates django-views

我有一个带有分页的基于类的视图:

class ItemListView(ListView)
   paginate_by= 10

默认情况下可以正常工作。

示例:对于100个项目,数据库分页将为:

1,2,3,4,5,6,7,8,9,10 

在普通站点用户中,使用搜索,在某些情况下,搜索也会被分页。

搜索已完成,覆盖了get_queryset。

def get_queryset(self, *args, **kwargs):

   if self.request.GET.get('q'):
            qs = qs.objects.filter(keyword=self.request.GET.get('q'))

在模板中,我有:

   <li>
            <a href="?page={{ page_obj.number}}">&raquo;</a>
        </li>

我的问题是,当我单击search listing第二页时,它转到“完整列表”分页。

因此,page_object忽略了“初始查询集”,并且正在执行其自己的默认查询集。

示例:过滤后的查询集有2个项目,因此应为2页:

对于第一页,是正确的:

1,2

单击第二页的链接,我有,应该为1,2:

1,2,3,4,5,6,7,8,9,10 

我该如何解决?

0 个答案:

没有答案