Добавление настраиваемого поля в схему перед отправкой ответа - PullRequest
0 голосов
/ 03 июля 2019

Я использую flask_restplus для моего API и flask_marshmallow для сериализации моей модели БД. Перед отправкой пользователю дампа схемы с результатами, которые я получил от БД, я хотел бы добавить новое поле, содержащее сумму столбца amount.

// model.py
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from app import db, ma

class Income(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    amount = db.Column(db.Float)
    description = db.Column(db.String)
    frequency = db.Column(db.String)

    def __init__(self, amount, description, frequency):
        self.amount = amount
        self.description = description
        self.frequency = frequency

class IncomeSchema(ma.Schema):
    class Meta:
        fields = ('id', 'description', 'amount', 'frequency', '_total')
        ordered = True
    total = 0.0
routes.py
// routes.py
income_schema = IncomeSchema()

@ns.route('/')
class IncomeList(Resource):
    def get(self):
        income = Income.query.all()
        if income:
            total = float()
            for i in income:
                total += i.amount
            total = { 'total': total }
        income_schema.total = total # this isn't working
        return income_schema.dump(income).data, 201

Я хотел бы добавить поле total в свой ответ.

...