Применить функцию к списку

У меня есть метод представления, который возвращает набор записей о гонорарах в постраничной таблице

def fee_all(request):

    fee_list = Fee.objects.all().order_by('code') # query for records
    # How to apply separate function e.g. get_column_result 
    # to and append result on the fee_list?

    p = Paginator(fee_list,10) # paginate query
    page = request.GET.get('page') 
    fees = p.get_page(page) # pagination object instance

    context = { 
       'fee_list': fee_list,
       'fees': fees, 
        }

    return render(request, 'fee-all.html', context)

def get_column_result(fee):
    #do operations
    return column_result

Образец таблицы, которую я хочу достичь

Я хочу применить метод/функцию для каждого элемента кверисета, чтобы выполнить вычисление и отобразить результат в виде дополнительного столбца в отображаемой таблице. Рассматриваю возможность использования фреймов данных из Pandas с помощью функции apply() или лямбда-функции Applying, но преобразование результирующего фрейма данных в кверисет затруднено. Есть идеи?

Возможно, вы ищете annotate?. Это сильно зависит от того, что делает ваша функция.

подробнее об annotates вы можете прочитать здесь: https://docs.djangoproject.com/en/4.1/ref/models/querysets/#django.db.models.query.QuerySet.annotate

и здесь: https://docs.djangoproject.com/en/4.1/ref/models/expressions/#using-f-with-annotations

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