python - 如何在 sqlalchemy 更新查询中添加自定义列名?
问题描述
我有以下问题:
我在我的 python 方法中使用 sqlalchemy,如下所示:
def update_icao_airport_id(self, airport_sys_id, project_sys_id, custom_column, value):
"""
Updates Airport icao_airport_id value.
:param airport_sys_id: airport_sys_id value you want to change
:param project_sys_id: project_sys_id which is associated with Airport
:param value: icao_airport_id new value
:return: number of rows affected
"""
query = AIRPORT.update(). \
where(AIRPORT.c.airport_sys_id == airport_sys_id). \
where(AIRPORT.c.project_sys_id == project_sys_id). \
values(custom_column=value)
result = self.execute_query(query)
return result
我希望能够用方法中传递的参数替换“custom_column”。我无法为列名工作,它仅适用于“=”或“==”之后的值,适用于 airport_sys_id、project_sys_id 和 value。
例如我想传入我的方法 (1, 2, name_column, cat) 并接收如下:
query = AIRPORT.update(). \
where(AIRPORT.c.airport_sys_id == 1). \
where(AIRPORT.c.project_sys_id == 2). \
values(name_column=cat)
我尽我所能搜索但没有成功。我将非常感谢您的支持。问候。
解决方案
我的示例有一个可行的解决方案:
我们可以使用字典:
.values({custom_column: value})
然后我可以像这样在我的查询中使用它:
update_values = {custom_column: value}
query = AIRPORT.update(). \
where(AIRPORT.c.airport_sys_id == airport_sys_id). \
where(AIRPORT.c.project_sys_id == project_sys_id). \
values(update_values)
推荐阅读
- javascript - 有没有办法结合 Webpack 模块来减小文件大小?
- php - 如何检查 Wordpress 小部件函数中的变量是否为空
- flutter - 为什么 BehaviorSubject 总是返回空值?
- python - 访问自定义损失函数中的特定元素?
- javascript - 如何在 arduino 中使用 javascript 代码并将 javascript 值分配给 arduino 值
- r - 如何在没有节点重叠的情况下制作更好的图表?
- c# - 如何在星形图案下方打印
- amazon-web-services - 从 rdb 恢复过期密钥重启 redis 服务器
- javascript - 在 InfoWindow 中添加更多信息
- kubernetes - 如何为 kubernetes 中的节点分配 gpus [使用 kubernetes-client java api]