开发者

Django pagination is repeating results

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 res开发者_运维问答ults 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?


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


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

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜