Django pagination is repeating results

我怕爱的太早我们不能终老 提交于 2019-12-06 01:47:19

问题


I have this weird pagination bug in Django: using object_list as a return of a view, but passing a "paginate_by" argument to it, it's repeating some of the results; Otherwise, if I remove the argument or set as "paginate_by=None", the results are correct.

If using pagination, the quantity of results is maintained at a total, so, because there are repeated results, the last results are left out of the list, so they don't appear in the template.

Any ideas of what might be happening?

Thanks!


回答1:


I had this problem also, but found a solution.

The problem was that i sorted the dataset by date. When i had multiple records with the same date, pagination showed wrong records.

What i did was i added another searchfield, id, so that the sortcriteria was unique for every record. And then it worked!

Before:

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

After:

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

HTH




回答2:


Aparently there's an open issue about documenting how pagination works with django-filter.

Try following the advice given by the issue submitter, bartTC.



来源:https://stackoverflow.com/questions/5044464/django-pagination-is-repeating-results

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!