gpt4 book ai didi

python - 不可 JSON 序列化 - Python + Flask + Sqlalchemy

转载 作者:行者123 更新时间:2023-11-29 06:35:31 29 4
gpt4 key购买 nike

我正在编写小查询来从 mysql 获取数据数据库,我有一个报告表,里面有 report_id ,我需要查询匹配 report_id 的数据来自api参数。

我的功能:

def view_single_thumbnail(idx): // idx coming from params 
session = Session()

result = session.query(
Report
).filter(
Report.report_id == idx
).all()

return jsonify({
'data': result
})

抛出错误:'components.db.core.table_declaration.Report object at 0x000001C1Fsdfsdf51E6A90' is not JSON serializable .

最佳答案

SQLAlchemy 对象无法通过 jsonify 自动序列化。您可以向 SQLAlchemy 模型 class

添加属性
class Report(db.Model):
def __init__(self):
...

@property
def serialized(self):
"""Return object data in serializeable format"""
return {
'id': self.id,
'report_text': "Some text",
...
}

您的 View 将更新为:

def view_single_thumbnail(idx): // idx coming from params 
session = Session()

result = session.query(
Report
).filter(
Report.report_id == idx
).all()

return jsonify({
'data': [result.serialized for result in results]
})

关于python - 不可 JSON 序列化 - Python + Flask + Sqlalchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54069509/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com