是否可以将Postgres Interval数据类型与Marshmallow模式序列化一起使用?

时间:2018-02-07 02:38:15

标签: python postgresql sqlalchemy marshmallow

SqlAlchemy支持Interval data types,如下所示:

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

...但Marshmallow不支持区间数据类型。 Marshmallow API documentation提到了其他原始数据类型和字符串,但到目前为止我还没有能够让它工作。

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

感谢您提出任何建议或建议。

1 个答案:

答案 0 :(得分:0)

虽然它没有提供任何验证,但我能够使用字符串使模式工作:

class SampleSchema(Schema):
    id = fields.Int()
    time_interval = fields.String(allow_none=True)