You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SQLAlchemy查询的Dataclass结果序列化为JSON格式?

问题:SQLAlchemy查询结果转JSON格式遇到困难

我正尝试通过SQLAlchemy获取SQLite3数据库中的所有记录,目前在将查询结果转换为合法JSON格式时遇到困难。查阅过不少教程,试过包括Pydantic在内的多种方法后能成功获取数据,但仍卡在格式转换环节。不想自己编写解析器来转换格式,更想采用“正确的方式”解决,但目前还没发现问题所在。

代码实现

....
from dataclasses import dataclass

@dataclass
class Request(db.Model):
    id: str = db.Column(db.Integer, primary_key=True)
    request_text: str = db.Column(db.String(400))   
    status: str = db.Column(db.String(400))   
    added_from: str = db.Column(db.String(400))  
    added_date: str = db.Column(db.String(400))      
    update_date: str = db.Column(db.String(400)) 


@socketio.on('getList')
def getList():
    requests = Request.query.all()
    print(requests)

当前输出

[Request(id=1, request_text='Clown - Juggling balls in the air', status='Added', added_from='wish', added_date='11/18/2023, 16:06:10', update_date='11/18/2023, 16:06:10'), Request(id=2, request_text='a', status='Added', added_from='wish', added_date='11/18/2023, 16:06:12', update_date='11/18/2023, 16:06:12'), Request(id=3, request_text='b', status='Added', added_from='wish', added_date='11/18/2023, 16:06:13', update_date='11/18/2023, 16:06:13'), Request(id=4, request_text='c', status='Added', added_from='wish', added_date='11/18/2023, 16:06:14', update_date='11/18/2023, 16:06:14')]

使用的技术栈版本

Python: 3.10.12
Flask: 2.2.5
Flask-Migrate: 4.0.5
Flask-SQLAlchemy: 3.3.1

内容的提问来源于stack exchange,提问作者ManiMatter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:06:20