我正在尝试使用以下代码更新表中的一些记录:
session.query(Post).filter(
Post.title.ilike("%Regular%")
).update({"status": False})
Run Code Online (Sandbox Code Playgroud)
但问题是代码抛出了以下异常:
InvalidRequestError: Could not evaluate current criteria in Python: "Cannot evaluate BinaryExpression with operator <function ilike_op at 0x7fbb88450ea0>". Specify 'fetch' or False for the synchronize_session parameter.
Run Code Online (Sandbox Code Playgroud)
但是,如果我传递synchronize_session=False给update(),它会奇迹般地工作。
session.query(Post).filter(
Post.title.ilike("%Regular%")
).update({"status": False}, synchronize_session=False)
Run Code Online (Sandbox Code Playgroud)
那么有什么用synchronize_session呢?