Для целей отображения неоднородных результатов поиска вы можете использовать:
from itertools import chain
И, скажем, вы искали страницы, документы, изображения, а также имеете некоторыедругие результаты - вы можете сделать это (включая нумерацию страниц, поскольку вам это тоже понадобится):
page_results = SOME PAGE RESULTS
doc_results = docs_to_search.search(search_query, order_by_relevance=False)
img_results = images_to_search.search(search_query, order_by_relevance=False)
other_search_results = SOME RESULTS FROM SEARCHING MODELS
all_results = list(chain(other_search_results, page_results, img_results, doc_results))
# Pagination
paginator = Paginator(all_results, items_per_page, orphans=num_orphans)
try:
results = paginator.page(page)
except PageNotAnInteger:
results = paginator.page(1)
except EmptyPage:
results = paginator.page(paginator.num_pages)
, а затем вернуть results
из вида и визуализировать в шаблоне с {% for result in results %}