Python Sqlalchemy 查询数据返回时间类型的问题?

  • 通过下面代码可以返回 JSON 数据,但是 datetime 类型字段变成别的样子了该如何解决?
python">engine = create_engine("mysql+pymysql://root:root@127.0.0.1/test")

with engine.connect() as connection:

result = connection.execute(text("select * from data limit 10"))

return [dict(row) for row in result.mappings()]

Python Sqlalchemy 查询数据返回时间类型的问题?

  • 变成了 Sat, 22 Jan 2022 21:20:26 GMT 这样的格式

Python Sqlalchemy 查询数据返回时间类型的问题?


回答:

手动转一下

from datetime import datetime

# ...

result = connection.execute(text("select * from data limit 10"))

data = []

for row in result:

row_dict = {key: value.strftime('%Y-%m-%d %H:%M:%S') if isinstance(value, datetime) else value for key, value in row.items()}

data.append(row_dict)

return data

如果希望在整个应用程序中都使用相同的时间格式,也可以将其作为配置项进行设置,可以这样搞

import datetime

# 设置全局时间格式

datetime.datetime.strftime = lambda self, fmt: self.strftime(fmt) if isinstance(self, datetime.datetime) else str(self)

以上是 Python Sqlalchemy 查询数据返回时间类型的问题? 的全部内容, 来源链接: utcz.com/p/938935.html

回到顶部