Django Pagination в меняющемся наборе запросов - PullRequest
0 голосов
/ 30 июля 2010

На одной из моих страниц я хотел бы отобразить подмножество отсортированного списка объектов. Весь список релевантных объектов очень длинный и имеет хорошие шансы измениться, пока пользователь просматривает страницу. Я не против того, что страница не обновлена, но мне нужно убедиться, что когда пользователь перейдет на следующую страницу, он увидит следующие n объектов из исходного отсортированного списка. Таким образом, из-за потенциально измененных данных использование встроенной в django нумерации страниц или действительно хорошей библиотеки, такой как Django-endless-pagination , не будет возвращать правильные результаты при переходе на «следующую страницу».

Чтобы привести пример того, что я имею в виду, скажем, у нас есть объекты [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] и мы хотим отобразить 5 на страницу, отсортированные от малого к большому. Первая страница будет выглядеть так:

1, 2, 3, 4, 5.

Но при просмотре этой страницы 3 и 4 были удалены. Если мы перейдем на «следующую» страницу, нумерация страниц повторно запросит набор и вернет:

8, 9, 10, 11, 12

Я понимаю, что это ожидаемое поведение нумерации страниц, но я хотел бы, чтобы на следующей странице отображался простой способ:

6, 7, 8, 9, 10

Самое очевидное решение - это сделать пагинацию на стороне клиента, и я понимаю, что для этого есть хорошая библиотека jquery , но число объектов может быть слишком большим, чтобы это решение было реалистичным ,

Существует ли простой подход для разбивки на страницы набора запросов и дальнейшего использования результатов, возвращенных из этого исходного набора запросов, вместо повторного извлечения набора запросов, который мог измениться?

Спасибо за любую информацию, которую вы можете мне дать!

1 Ответ

3 голосов
/ 30 июля 2010

Что может быть возможным решением, если вы создадите свою собственную функцию нумерации страниц, которая вместо следующей ссылки, ссылающейся на определенную страницу, могла бы передать запись, которая является главной на следующей странице

Проблема в том, что это будет работать, только если добавляемые / изменяемые элементы являются только первыми элементами в списке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...