Динамическое упорядочивание нескольких наборов запросов

Я довольно новичок в Django и в настоящее время создаю веб-страницу, которая получает некоторую контекстную информацию из url для создания навигационной панели bootstrap с вкладками (например, tab-example). Я не могу понять, как правильно заполнить каждую панель вкладок динамическим содержимым. Динамическое содержимое - это 3 различных набора запросов (отображаемых в виде списков), зависящих от информации в заголовке вкладки

До сих пор я позволял функции представления собирать все QuerySets для каждой вкладки и передавал их обратно через контекст в render() как список 'query_dicts' следующим образом:

query_dict = {
    "header": header,
    "data": [query_direct_hit, query_vague, query_very_vague]
}

Теперь я хотел бы иметь возможность независимо сортировать наборы запросов каждого заголовка (например, упорядочить query_direct_hit по названию, query_vague по дате и сохранить мета-порядок в query_very_vague). Я не могу придумать, как это сделать, кроме как предоставить представлению еще больше контекстной информации, что еще больше раздует url. Это не может быть лучшим способом сделать это, верно? Сейчас url и заголовок представления уже выглядят следующим образом:

path('search-entry/<search_term>/<entry_id>/<score>', views.search_entry, name='search-entry')

def search_entry(request, search_term, entry_id, score):
    # do stuff

Я уже видел в других постах использование jquery.load() или ajax, чтобы обновлять только части шаблона. Но это тоже кажется халтурным, и так как я все еще завишу от контекста url, проблема с раздутыми url все еще остается, или я что-то упускаю?

Как более опытные программисты Django справятся с подобным?

Вернуться на верх