php中文网

Flask-SQLAlchemy 查询结果如何转换为 JSON?

php中文网

python sqlalchemy 查询结果如何转换为 json?

对于在 flask 中使用 flask-sqlalchemy 时遇到的无法通过官方方式将查询结果转换为 json 的问题,以下是一些解决方案:

使用 peewee(推荐)

peewee 是一个简单的 orm 库,它提供了便捷的方法来处理数据库对象。对于将对象转换为字典,可以使用其 model_to_dict 函数:

from playhouse.shortcuts import model_to_dict

# 使用 model_to_dict 将对象转换为字典
result_dict = model_to_dict(query_result)

请注意,peewee 随 playhouse 安装,无需单独安装。

其他插件

如果您不想使用 peewee,还有其他插件可以帮助您实现这一功能:

  • sqlalchemy-utils:提供了一个 to_json 方法,可以将对象转换为 json。
  • marshmallow-sqlalchemy:一个用于序列化和反序列化的库,支持 sqlalchemy 模型。

使用方法

安装所需的插件后,您可以按照以下步骤将 sqlalchemy 查询结果转换为 json:

  1. 导入插件的 to_json 或 serialize 函数。
  2. 使用该函数将查询结果转换为字典。
  3. 使用 json.dumps() 函数将字典转换为 json 字符串。

例如,使用 sqlalchemy-utils:

from sqlalchemy_utils import to_json

# 使用 to_json 将 SQLAlchemy 对象转换为 JSON
json_string = to_json(query_result)

以上就是Flask-SQLAlchemy 查询结果如何转换为 JSON?的详细内容,更多请关注php中文网其它相关文章!