【发布时间】:2015-03-02 13:43:11
【问题描述】:
我目前正在使用 Flask-Restless 开发一个应用程序。当我用相应的 arrow 字段替换我的 SQLAlchemy 模型的典型 DateTime 字段时,一切都很顺利。这是由于 SQLAlchemy-Utils 及其ArrowType 字段的帮助。
但是,在使用 API 返回这些对象的 JSON 表示后,我收到以下错误:
TypeError:Arrow [2015-01-05T01:17:48.074707] 不是 JSON 可序列化的
哪里是修改模型序列化方式的理想位置?我是要修改 Flask-Restless 代码以支持 Arrow 对象,还是编写一个 Flask-Restless 可以识别并用于检索 JSON 兼容对象的模型方法?
与此同时,我还可以编写一个丑陋的后处理器函数,但该解决方案似乎是一个糟糕的 hack。
以下是带有 ArrowType 字段的示例模型:
class Novel(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.Unicode, unique=True, nullable=False)
created_at = db.Column(ArrowType, nullable=False)
def __init__(self, title):
self.title = title
self.created_at = arrow.utcnow()
【问题讨论】:
标签: python json serialization flask-restless