Форум сайта python.su
Привет! Подскажите, как лучше организовать кеширование queryset после того, как бы осуществлен поиск. Сценарий выглядит следующий образом. Пользователь перешелен на страницу поиска по объявлениям. Заполнил поля, нажал кнопку найти. Выполнился запрос в базу данных, вернулся queryset. Здесь я хочу отобразить первые двадцать объявлений на странице и кнопку показать больше. Когда пользователь кликает на кнопку показать больше, я не хочу делать повторный запрос с теми же параметрами, а воспользоваться уже имеющимся queryset из кеша, и взять данные из него. Как лучше всего это организовать?
Заранее благодарю.
Офлайн
можно же из БД получить только 20 записей.
Пользователь нажал показать больше, будет запрос в бд на следующие 20 записей.
не подходит такой вариант?
Офлайн
ilnur, спасибо за ответ! Я как-то этот вариант пропустил совсем. Я правильно понимаю, что pgsql поддерживает select с limit и offset? И это решение самое удобное, вместо того, чтобы кешировать весь результат, а потом считывать с него? :-)
Офлайн
Блин, ну в Джанге же есть Paginator, который всё решает,
читайте тут
Офлайн
Это читали: https://docs.djangoproject.com/en/1.6/topics/db/queries/#caching-and-querysets
Офлайн
Спасибо всем за ответы. Читаю базу.
Офлайн