python - 在 Sqlalchemy 中更新多列

标签 python python-2.7 sqlalchemy flask-sqlalchemy

我有一个在 flask 上运行并使用 sqlalchemy 与数据库交互的应用程序。我想用用户指定的值更新表的列。我正在使用的查询是

def update_table(value1, value2, value3):
     query = update(Table).where(Table.column1 == value1).values(Table.column2 = value2, Table.column3 = value3)

我不确定我传递值的方式是否正确。另外 Table.column2/3 i=gives 错误说 Can't assign to function call 。其中 column2/3 不是函数,它们是字段名称。那么,我该如何更新多个值,为什么会在这里出错?

PS:我引用了 sqlalchemy doc

最佳答案

可以使用 Session 更新多个列:

def update_table(session, val1, val2, val3):
  session.query(Table).filter_by(col=val1).update(dict(col2=val2,col3=val3))
  session.commit()

关于python - 在 Sqlalchemy 中更新多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805600/

相关文章:

python - Sqlalchemy 选择条件

python - web2py 重定向到上一页

python - 结合两个列表 Python

python - 断言错误 : View function mapping is overwriting an existing endpoint function

mysql - 如何在 SQLAlchemy 的 `charset` 中使用 `encoding` 和 `create_engine`(创建 Pandas 数据框)?

python - 导入错误: No module named SQLAlchemy with Anaconda

python - 是否可以在 Tensorflow 中输入动态形状矩阵?

python - 是否可以在 python 中使用元组索引嵌套列表?

Python 哈希值不匹配

python - 如何在 QTextEdit PYQT 中按下按钮时突出显示和更改行选择