您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Flask中为SQLAlchemy结果集jsonify

在Flask中为SQLAlchemy结果集jsonify

看来你实际上尚未执行查询。请尝试以下操作:

return jsonify(json_list = qryresult.all())

[编辑]:jsonify的问题是,通常无法自动对对象进行jsonify。甚至Python的日期时间也会失败;)

我过去所做的就是在serialize需要序列化的类中添加一个额外的属性(例如)。

def dump_datetime(value):
    """Deserialize datetime object into string form for JSON processing."""
    if value is None:
        return None
    return [value.strftime("%Y-%m-%d"), value.strftime("%H:%M:%s")]

class Foo(db.Model):
    # ... sqlAlchemy defs here..
    def __init__(self, ...):
       # self.foo = ...
       pass

    @property
    def serialize(self):
       """Return object data in easily serializable format"""
       return {
           'id'         : self.id,
           'modified_at': dump_datetime(self.modified_at),
           # This is an example how to deal with Many2Many relations
           'many2many'  : self.serialize_many2many
       }
    @property
    def serialize_many2many(self):
       """
       Return object's relations in easily serializable format.
       NB! Calls many2many's serialize property.
       """
       return [ item.serialize for item in self.many2many]

现在,对于视图,我可以做到:

return jsonify(json_list=[i.serialize for i in qryresult.all()])

希望这可以帮助

Python 2022/1/1 18:24:26 有176人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶