我正在尝试根据一些标准更新用户表中的所有用户。
update = ({"username" : "user1"}, {"address" : "1234", "password" : "newpass"})
users = Table(...)
Run Code Online (Sandbox Code Playgroud)
我正在尝试这样的查询:
users.update().where(**update[0]).values(update[1])
users.select().filter_by(**update[0]).update(update[1])
Run Code Online (Sandbox Code Playgroud)
通过会议,我知道我可以做到:
session.query(Users).filter_by(**update[0])
Run Code Online (Sandbox Code Playgroud)
表对象有类似物吗?
您可以创建 where 子句列表并将其传递给 where()
from sqlalchemy import and_
update = ({"username" : "user1"}, {"address" : "1234", "password" : "newpass"})
where_clauses = [users.c[key]==value for (key, value) in update[0].items()]
users.update().where(and_(*where_clauses)).values(**update[1])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1224 次 |
| 最近记录: |