【问题标题】:Django pagination is repeating resultsDjango分页正在重复结果
【发布时间】:2011-06-29 23:46:14
【问题描述】:

我在 Django 中有一个奇怪的分页错误:使用 object_list 作为视图的返回,但将“paginate_by”参数传递给它,它会重复一些结果;否则,如果我删除参数或设置为“paginate_by=None”,结果是正确的。

如果使用分页,结果的数量保持在一个总数,所以,因为有重复的结果,最后的结果被排除在列表之外,所以它们不会出现在模板中。

对可能发生的事情有什么想法吗?

谢谢!

【问题讨论】:

  • 这里是:pastebin.com/b4zinh27
  • 重要信息:重复结果的数量等于相关多对多对象之间的链接数。可能是找到错误的最佳线索。

标签: django pagination django-queryset


【解决方案1】:

我也遇到了这个问题,但找到了解决方案。

问题是我按日期对数据集进行了排序。当我有多个相同日期的记录时,分页显示错误的记录。

我所做的是我添加了另一个搜索字段 id,以便每条记录的排序条件都是唯一的。然后就成功了!

之前:

self.filtered_nesgames = self.filtered_nesgames.order_by('releasedate')

之后:

self.filtered_nesgames = self.filtered_nesgames.order_by('releasedate', 'id')

HTH

【讨论】:

  • 4 年半之后,这仍然是正在发生的事情。谢谢!
  • 在即将发布的 Django 版本中有解决此问题的方法吗? :(
  • 由于近6年零4个月没有修复,看来不太可能。另外:为 NES 游戏欢呼:-)
  • 9 年后。似乎这是唯一的解决方法。
【解决方案2】:

显然有一个带有 django-filter 的 open issue about documenting how pagination works

尝试遵循问题提交者 bartTC 的建议。

【讨论】:

  • 这与 OP 的问题有什么关系?
猜你喜欢
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多