我使用ListView显示所有的NewPersons和按5分页的结果。NewPersons显示在一个表中,在左侧有一个搜索框。当搜索时,在GET中请求'q‘。为了在搜索时更改查询集,我覆盖了视图的get_queryset方法。
我遇到的问题是,因为我按5个结果分页,所以如果搜索返回的结果超过5个,它们就会分页;但是,如果单击next查看第二页,它将返回完整对象列表的第二页,而不是搜索结果的第二页。
所以我想知道如何正确地对我的搜索结果进行分页。谢谢。JD
class PersonListView(ListView):
model = NewPerson
template_name =
我想优化我的分页搜索结果页面
例如,我有1亿的帖子要搜索。用户只需输入"a“。搜索所有这些都需要很长时间,因为我们使用SQL_CALC_FOUND_ROWS进行分页。
事实上,没有必要搜索所有的行(帖子),答案"1000+“对用户来说就足够了。所以我们需要在找到1000个结果后停止搜索。
我们希望向用户显示这样的信息:显示1000+结果的1-10页.第100页
如何在不失去分页功能的情况下做到这一点?
我当前的查询可能如下所示:
SELECT SQL_CALC_FOUND_ROWS xxx_posts.ID
FROM xxx_posts
WHERE 1=1
AND (((xxx