在SQLAlchemy中区分RowProxy的json列?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQLAlchemy中区分RowProxy的json列?相关的知识,希望对你有一定的参考价值。
例如,当我执行以下代码时,结果数据类型为str
:
result = engine.execute('''
SELECT CAST('{"foo": "bar"}' as JSON) as `json`
''')
row = result.fetchone()
json = row[0]
type(json)
具有str
类型的json列值并不是元编程友好的。
Question
有没有办法从result
(或ResultProxy
的一个实例)获取每列类型的信息?
env
- mysql:8.0.11
- SQLAlchemy:1.3.0
- pymysql:0.9.3
答案
您至少可以通过明确的telling SQLAlchemy that the result is JSON实现它:
from sqlalchemy.types import JSON
stmt = text('''SELECT CAST('{"foo": "bar"}' as JSON) as `json`''')
stmt = stmt.columns(json=JSON)
row = engine.execute(stmt).fetchone()
type(row.json)
以上是关于在SQLAlchemy中区分RowProxy的json列?的主要内容,如果未能解决你的问题,请参考以下文章
RestKit:在 didLoadResponse 中区分多个请求: