Джанго пагинация повторяет результаты - PullRequest
6 голосов
/ 18 февраля 2011

У меня есть странная ошибка разбиения на страницы в Django: использование object_list в качестве возврата к представлению, но передача ему аргумента "paginate_by", повторение некоторых результатов; В противном случае, если я удалю аргумент или установлю «paginate_by = None», результаты будут правильными.

Если используется разбиение на страницы, количество результатов сохраняется на общем уровне, поэтому из-за повторяющихся результатов последние результаты исключаются из списка, поэтому они не отображаются в шаблоне.

Есть идеи о том, что может происходить?

Спасибо!

Ответы [ 2 ]

24 голосов
/ 05 мая 2011

У меня тоже была эта проблема, но я нашел решение.

Проблема заключалась в том, что я отсортировал набор данных по дате.Когда у меня было несколько записей с одной и той же датой, пагинация показала неправильные записи.

Я добавил еще одно поле поиска, id, чтобы критерии сортировки были уникальными для каждой записи.И тогда все заработало!

До:

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

После:

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

HTH

0 голосов
/ 20 февраля 2011

Очевидно, существует открытый вопрос о документировании работы разбивки на страницы с помощью django-фильтра.

Попробуйте выполнить рекомендации, предоставленные отправителем проблемы, bartTC.

...