Использование filter
с поиском id__in
:
resource_ids = request.GET.getlist('id')
context['selected_resources'] = ResourcePage.objects.filter(id__in=resource_ids)
Предполагается, что идентификаторы, которые вы передаете в URL, всегда относятся к одному и тому же типу страницы (ResourcePage
в этом примере). Вероятно, это безопасное предположение - если есть смешанные типы страниц, вы не можете гарантировать, что у них всех есть поле description
, поэтому вы не можете сделать ничего полезного в выводе. Но если вам действительно нужно иметь дело с несколькими различными типами страниц (для всех из них определен description
), вы можете сделать это следующим образом (за счет некоторых дополнительных запросов к базе данных):
context['selected_resources'] = Page.objects.filter(id__in=resource_ids).specific()