py-flask-jsontools如何序列化sqlalchemy模型或模型列表

时间:2016-12-31 03:41:33

标签: python json flask sqlalchemy

"如何序列化sqlalchemy模型"有很多解决方案。其中许多因部件和部件因烧瓶而改变而发生变化。

jsonify a SQLAlchemy result set in Flask

我已决定使用py-flask-jsontools。制作了存储库的副本,并集成了各种分支的几个修复程序。原始作者似乎是mia。

https://github.com/slippers/py-flask-jsontools

这是对sqlalchemy的测试,我用它来探索序列化为json的是否有烧瓶上下文。

https://github.com/slippers/py-flask-jsontools/blob/master/tests/sqlalchemy-test.py

?如何在不调用

的情况下将sqlalchemy模型序列化为json
json.dumps( "some query object", cls=DynamicJSONEncoder)

特别是当有请求上下文并且烧瓶知道要使用的序列化程序类时。

1 个答案:

答案 0 :(得分:0)

使用DynamicJSONEncoder扩展JsonResponse以调用转储。 JsonResponse具有可选参数,用于不同的http响应代码和标题。

class SqlAlchemyResponse(JsonResponse):
    def preprocess_response_data(self, response):
        return json.dumps(response, cls=DynamicJSONEncoder)

@app.route('/person', methods=['GET']) 
def list_persons():
    rs = self.session.query(Person).all()
    return SqlAlchemyResponse(rs)