我正在使用SQLAlchemy和python,我想更新表中与该查询相等的特定行:
UPDATE User SET name = 'user' WHERE id = '3'
我通过sql炼金术制作了这段代码,但它不起作用:
session.query(User).filter(User.id==3).update({'name': 'user'})
返回了此错误:
InvalidRequestError: Could not evaluate current criteria in Python. Specify 'fetch' or False for the synchronize_session parameter.
我该怎么做?
答案 0 :(得分:3)
ormically,你不使用update()
,你设置属性:
a_user = session.query(User).filter(User.id == 3).one()
a_user.name = "user"
session.commit()
答案 1 :(得分:0)
session.query(User).filter(User.id==3).update({'name':'user'},synchronize_session=False)
这样可行。阅读sqlalchemy文档中的syncrhonize_session。