stagor
Авг. 14, 2013 04:11:20
Привет! Подскажите, как лучше организовать кеширование queryset после того, как бы осуществлен поиск. Сценарий выглядит следующий образом. Пользователь перешелен на страницу поиска по объявлениям. Заполнил поля, нажал кнопку найти. Выполнился запрос в базу данных, вернулся queryset. Здесь я хочу отобразить первые двадцать объявлений на странице и кнопку показать больше. Когда пользователь кликает на кнопку показать больше, я не хочу делать повторный запрос с теми же параметрами, а воспользоваться уже имеющимся queryset из кеша, и взять данные из него. Как лучше всего это организовать?
Заранее благодарю.
ilnur
Авг. 14, 2013 07:08:06
можно же из БД получить только 20 записей.
Пользователь нажал показать больше, будет запрос в бд на следующие 20 записей.
не подходит такой вариант?
stagor
Авг. 14, 2013 07:12:11
ilnur, спасибо за ответ! Я как-то этот вариант пропустил совсем. Я правильно понимаю, что pgsql поддерживает select с limit и offset? И это решение самое удобное, вместо того, чтобы кешировать весь результат, а потом считывать с него? :-)
FishHook
Авг. 14, 2013 07:17:02
Блин, ну в Джанге же есть Paginator, который всё решает,
читайте тут
stagor
Авг. 16, 2013 04:54:34
Спасибо всем за ответы. Читаю базу.