Я использую 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
в свой ответ.