亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

都能得到正確的結果了,為什么不能直接使用.delete()?

都能得到正確的結果了,為什么不能直接使用.delete()?

largeQ 2023-04-15 13:09:49
db.session.query(Article).filter(Article.id.in_(items)).delete()報錯:sqlalchemy.exc.InvalidRequestErrorInvalidRequestError: Could not evaluate current criteria in Python. Specify 'fetch' or False for the synchronize_session parameter.但是:db.session.query(Article).filter(Article.id==1).delete() db.session.query(Article).filter(Article.id.in_(items))都能得到正確的結果。為什么不能直接使用.delete()?我按下面的寫法能正常工作。art_items=Article.query.filter(Article.id.in_(items))for item in art_items:     db.session.delete(item) db.session.commit()就是希望了解一下原理。為什么不能在使用_in的時候直接后面接delete()?
查看完整描述

1 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

為什么無法刪除 in 操作查詢出來的記錄?

session.query(User).filter(User.id.in_((1, 2, 3))).delete()

拋出這樣的異常:

sqlalchemy.exc.InvalidRequestError: Could not evaluate current criteria in Python.  Specify 'fetch' or False for the synchronize_session parameter.

但這樣是沒問題的:

session.query(User).filter(or_(User.id == 1, User.id == 2, User.id == 3)).delete()


查看完整回答
反對 回復 2023-04-18
  • 1 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號