Можно ли использовать тип данных Postgres Interval с сериализацией схемы Marshmallow?

SqlAlchemy поддерживает интервальные типы данных следующим образом:

class Sample(Base):
    __tablename__ = "samples"
    id = Column(Integer(), primary_key=True)
    time_interval = Column(Interval(), nullable=True)

Можно ли сериализовать интервальный тип столбца с помощью схем Marshmallow? Я надеялся на что-то вроде следующего:

class SampleSchema(Schema):
    id = fields.Int()
    time_interval = fields.Interval(allow_none=True)  # not supported

... но тип данных interval не поддерживается Marshmallow. В документации Marshmallow API упоминаются другие необработанные типы данных и строки, но пока я не удалось заставить это работать.

TypeError: Object of type 'timedelta' is not JSON serializable

Спасибо за любые советы или предложения.


person Ender2050    schedule 07.02.2018    source источник


Ответы (1)


Хотя это не обеспечивает никакой проверки, я смог заставить схему работать, используя строку:

class SampleSchema(Schema):
    id = fields.Int()
    time_interval = fields.String(allow_none=True)
person Ender2050    schedule 07.02.2018