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模型序列化为jsonjson.dumps( "some query object", cls=DynamicJSONEncoder)
特别是当有请求上下文并且烧瓶知道要使用的序列化程序类时。
答案 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)