Итак, вы пытаетесь сохранить все результаты, чтобы, когда пользователь перемещается по страницам, к базе данных снова нет доступа, верно? Поскольку это динамический поиск, единственный способ сделать это - кэшировать эти страницы, но страницы, которые еще не были посещены, не будут кэшироваться. Таким образом, единственным преимуществом является то, что пользователь возвращается на предыдущие страницы. Я не думаю, что вы получите много пользы от этой практики.
Совершенно нормально выполнять один запрос каждый раз, когда пользователь загружает страницу.
Кроме того, если в вашем шаблоне вы выполняете итерацию по набору запросов, каждая итерация попадает в базу данных. Непосредственно перед передачей набора запросов к шаблону используйте my_query_set = list (my_query_set), чтобы избежать множественных обращений к базе данных обращений.