使用SQLAlchemy ORM时,如何以ResultProxy格式返回查询?

2024-06-25 23:44:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现在某些情况下,ResultProxy比ORM结果更方便使用(通过我理解的文档,我可以迭代完整表中的列)。我试过了:

query = session.query(Table1)
results = [ResultProxy(a) for a in query]

。。。但失败的原因是:

^{pr2}$

Tags: in文档forsessionorm情况原因query
2条回答

快速回答:

conn = engine.connect()
result_proxy = conn.execute(query.selectable)

Docs here。在

您还可以通过名称获取列索引。。。在

^{pr2}$

。。。然后通过索引得到结果:

first_row_col_content = query.all()[0][col_index]

您不能像那样只实例化ResultProxy,它是特定于DBAPI游标以及关于语句如何构造的上下文信息的。使用会话.执行()从查询.语句. 不过,向查询添加一个方法以直接提供它所使用的ResultProxy并不难。在

相关问题 更多 >