На одной из моих страниц я хотел бы отобразить подмножество отсортированного списка объектов. Весь список релевантных объектов чрезвычайно длинный и имеет хорошие шансы на изменение, когда пользователь просматривает страницу. Я не возражаю, что страница не обновлена, но мне нужно убедиться, что когда пользователь перейдет на следующую страницу, пользователь увидит следующие n объектов из исходного отсортированного списка. Таким образом, из-за потенциально измененных данных использование django в разбивке по страницам или действительно хорошая библиотека, например Django-endless-pagination, не вернет правильные результаты при переходе на «следующую страницу».Django Pagination on Changing Queryset
Чтобы привести пример того, что я имею в виду, скажем, у нас есть объекты [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
Я понимаю, что это ожидаемое поведение PAGINATION, но я хотел бы получить самый простой способ сделать следующий дисплей страницы:
6, 7, 8, 9, 10
наиболее очевидным решением является какой-то сторона клиента пагинации, и я понимаю, что это nice jquery library для этого, но количество объектов может быть потенциально слишком большим, чтобы это решение было реалистичным.
Есть ли простой подход к разбиению на страницы в наборе запросов и продолжать использовать результаты, возвращенные из этого исходного набора запросов, вместо повторной выборки набора запросов, которые могут быть изменены?
Спасибо за понимание, которое вы можете мне дать!
+1 для приятного предложения и указания его ловушки. Точно так же я мог бы сохранить значение верхней записи на следующей странице и получить все результаты, которые придут после этого. – Spike
Я собираюсь отметить это как принятое, потому что вы единственный, кто поможет мне в этом, и ваше предложение довольно хорошее. Так что спасибо! – Spike
Да, это более или менее то, что я имел в виду, рада помочь, и спасибо за голосование (значит, я могу сейчас прокомментировать и проголосовать :)) – Hugoagogo