【发布时间】:2020-09-04 18:14:56
【问题描述】:
我想在 sqlalchemy 中指定特定更新的返回值。
基础update statement (sqlalchemy.sql.expression.update) 的文档说它接受“返回”参数,query object 的文档声明 query.update() 接受字典“update_args”将作为参数传递给查询语句。
因此我的代码如下所示:
session.query(
ItemClass
).update(
{ItemClass.value: value_a},
synchronize_session='fetch',
update_args={
'returning': (ItemClass.id,)
}
)
但是,这似乎不起作用。它只返回常规整数。
我现在的问题是:我做错了什么,或者这对查询对象根本不可能,我需要手动构造语句或编写原始 sql?
【问题讨论】:
-
不可能。
Query.update被明确记录为返回“数据库的“行计数”功能返回的匹配行数”,而不是更新查询的结果。
标签: sqlalchemy