简体   繁体   English

如何删除所有匹配的记录?

[英]How can I delete an all recods matched?

I have the code like:我有这样的代码:

from sqlalchemy import func
d = func.date('2021-6-23')
session.query(XCom).filter(XCom.execution_date <= d).delete()

feedback is :反馈是:

File "/home/airflow/.local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3926, in delete
delete_op.exec_()

I have tried:我努力了:

session.query(XCom).filter(XCom.execution_date <= d).all()

it worked.有效。

I cannot find out a reference for this.我找不到这方面的参考。 Any helps would be appreciated!任何帮助将不胜感激!

I found in sqlalchemy page我在sqlalchemy 页面中找到

just add synchronize_session=False inside delete()只需在delete()添加synchronize_session=False

session.query(XCom).filter(XCom.execution_date <= d).delete(synchronize_session=False)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM