Большая оборотная сторона Вашего текущего подхода является своей неэффективностью с большими наборами результата поиска, поскольку у Вас есть к выпадающему весь набор результатов от базы данных каждый раз, даже при том, что Вы только намереваетесь отобразить одну страницу результатов.
, Чтобы к только выпадающему объекты Вам на самом деле нужно от базы данных, необходимо использовать разбиение на страницы на QuerySet, не список. Если Вы делаете это, Django на самом деле нарезает QuerySet, прежде чем запрос будет выполнен, таким образом, SQL-запрос будет использовать СМЕЩЕНИЕ и ОГРАНИЧИВАТЬ, чтобы только получить записи, Вы на самом деле отобразитесь. Но Вы не можете сделать этого, если Вы не можете переполнить свой поиск в единый запрос так или иначе.
, Учитывая, что все три из Ваших моделей имеют заголовок и поля тела, почему бы не использовать образцовое наследование ? Просто имейте все три модели, наследовались от общего предка, который имеет заголовок и тело, и выполните поиск как единый запрос на модели предка.
Решение в эта страница должно работать на Вас. В нижней части это показывает Вам, как сделать его постоянным-> Разрешение Набора->
Сообщенный мне, если это работает на Вас, я знаю, что это для 11,10, но это должно работать на Вашу текущую версию также.