Пагинация списка элементов внутри DetailView (многие ко многим) Django
У меня есть модель с отношением "многие ко многим", я хочу вывести все элементы этого отношения из detailView с пагинацией (например, 10 элементов на страницу) Есть ли способ получить автоматическую пагинацию, как в ListView?
class CardDetailView(DetailView):
model = Card
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['banner'] = context['card'].banners.last()
context['banner_slideshow'] = context['card'].banners.all().order_by('-created_on') #i need that list paginated
return context
def get_queryset(self):
return Card.objects.all()
Вы можете использовать параметр запроса, а затем поместить запрос страницы в контекст
page = request.GET.get('page', 1)
paginator = Paginator(query_set_for_m2m, ITEMS_PER_PAGE)
try:
items = paginator.page(page)
except Exception as e:
items = paginator.page(1)
context['m2m_list'] = items