Сделать вычисления для записей внутри пагинации, django

Я хочу вычислить сумму двух записей, но только внутри пагинации.

class MacaListView(ListView):
    model = Maca
    paginate_by = 20

        def get_context_data(self, *, object_list=None, **kwargs):
            context = super(MacaListView, self).get_context_data(object_list=None, **kwargs)
            maca = Maca.objects.all()
            for i in range(0, maca.count()):
                maca1 = Maca.objects.get(maca[i].id)
                maca1.number = maca.number + 1

                maca1.save()

Это перейдет к каждой отдельной записи и выполнит логику. Я хочу, чтобы логика выполнялась только для записей в пагинации (вычислять только для 20 записей)

Не могли бы вы попробовать? Здесь мы получаем номер текущей страницы и нарезаем queryset, чтобы получить только нужные элементы.

class MacaListView(ListView):
    model = Maca
    paginate_by = 20

        def get_context_data(self, *, object_list=None, **kwargs):

            context = super(MacaListView, self).get_context_data(object_list=None, **kwargs)
            page =  int(self.request.GET.get('page', 1))
            maca = Maca.objects.all()[(page-1)*self.paginate_by:self.paginate_by]
            for i in range(0, maca.count()):
                maca = Maca.objects.get(maca[i].id)
                maca.number = maca.number + 1

                maca.save()
Вернуться на верх