@domanskiy

Как сериализовать данные типа Decimal из SQLAlchemy?

Делаю небольшое приложение на Flask
ORM SQLAlchemy
DB MySQL

Использовал flask-marshmallow для сериализации вывода данных из БД в формате json
Но столкнулся с тем, что flask-marshmallow не хочет сериализовать Decimal.
Ошибка : TypeError: Object of type Decimal is not JSON serializable

Модель:
class FormThickness(db.Model):
    """Таблица толщин форм"""
    __tablename__ = 'form_thicknesses'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    thickness = db.Column(db.DECIMAL(10, 4), unique=True, nullable=False)
    form_types = db.relationship('FormType', backref=db.backref('form_types'))

    def __repr__(self):
        return f'<{self.thickness}>'


Схема:
from models import *
from app import ma

class FormThicknessSchema(ma.SQLAlchemySchema):
    class Meta:
        model = FormThickness
        id = ma.auto_field()
        thickness = ma.auto_field()

        include_fk = True
        load_instance = True
        sqla_session = db.session


Подскажите как заставить flask-marshmallow сериализовать Decimal ?
  • Вопрос задан
  • 339 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы