Как добавить пагинацию : super()
Я пытаюсь добавить пагинацию, используя метод super().list() в modelviewset
def list(self, request, **kwargs):
print('list')
try:
if 'learner_id' in kwargs:
learner_id = self.kwargs.get('learner_id')
else:
learner_id = request.learner.id
details = RecentlyViewedVideos.objects.filter(learner_id=learner_id)
response_data = super().list(details, kwargs)
в выводе он отображает все документы в таблице, но мне нужны только те детали в "деталях", подскажите способ получить точный вывод.
Возможно, лучше сделать это в методе .get_queryset(…)
:
def get_queryset(self):
if 'learner_id' in self.kwargs:
learner_id = self.kwargs['learner_id']
else:
learner_id = self.request.learner.id
return super().get_queryset().filter(learner_id=learner_id)
тогда шаблонный код для фильтрации, пагинации и т.д. представления по-прежнему реализуется методом .list(…)
из ListModelMixin
.