Django Pagination,用户选择的条目数量错误

Posted

技术标签:

【中文标题】Django Pagination,用户选择的条目数量错误【英文标题】:Django Pagination, User selected entry amount error 【发布时间】:2016-12-14 15:57:02 【问题描述】:

我有一个带有表单的页面,用户在按下提交时输入信息以帮助过滤查询集。提交后,它们将被带到显示此过滤查询集的结果页面。我使用 Django 设置了分页以及一个交互式下拉菜单,用户可以在其中选择他们希望每页查看多少个查询集条目。我得到了所有这些工作,但我遇到的问题是要使其工作,我需要一个全局查询集对象。当多个线程同时使用该页面时,我遇到了问题,因此我试图找到替代选项而不是使用全局,但仍然允许交互式下拉和分页。

当我尝试删除全局并单击第二个或另一个后续页面时,查询似乎被清除了,并且我收到一条错误消息,指出无法迭代 None 对象。关于我可以尝试的替代方法的任何提示可以避免这个错误?谢谢!

【问题讨论】:

绝对不想要一个全局查询集;如果你有一个,所有用户都会看到同一个。但是没有必要。您已经拥有在每个请求中重新创建查询所需的所有信息。如果您需要任何更具体的帮助,您需要发布您正在使用的代码以及您遇到的错误。 【参考方案1】:

您做错了-与其尝试记住每个用户的查询集的状态并基于此进行分页,不如将您的用户页面设置为请求它想要的页面并从服务器请求它。

您可以通过多种方式做到这一点,但像 Tastypie 或 django rest 框架这样的东西可以让您轻松开发基于页面的 api,而 Datatables 或类似工具可以让您使用 Ajax 过滤和请求页面。

【讨论】:

以上是关于Django Pagination,用户选择的条目数量错误的主要内容,如果未能解决你的问题,请参考以下文章

django admin中的ForeignKey字段

Django ORM查询无法选择新对象

django 分页django-pure-pagination

[py]django第三方分页器django-pure-pagination实战

Django Queryset - 按字母顺序排序,然后将特定条目移到顶部

django-pure-pagination实现分页