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

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

如何使用 ((條件1 AND 條件2) OR (條件2 AND 條件3)) 構造sqlalchemy

如何使用 ((條件1 AND 條件2) OR (條件2 AND 條件3)) 構造sqlalchemy

ibeautiful 2024-01-16 15:37:48
query.filter(a == 'a', b =='b').filter(a == 'a2', b == 'b2')將創建一個本質上為 (條件 1 AND 條件 2) AND (條件 3 AND 條件 4) 的過濾器。相反,我希望它是(條件1和條件2)或(條件3和條件4)。我還想潛在地鏈接可變數量的這些外部 OR。這在 SQLAlchemy 中可能嗎?
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

它有助于像搭積木一樣審視你的條件。首先,將最小的放在一起,即兩個ANDs:


and_(a == 'a', b == 'b'),

and_(a == 'a2', b == 'b2')

然后你可以用 OR 連接它們:


query.filter(

  or_(

    and_(a == 'a', b == 'b'),

    and_(a == 'a2', b == 'b2')

  )

)

或者,如果您喜歡二元運算符,則以下內容是等效的:


query.filter(

  (a == 'a' & b == 'b')

  | (a == 'a2' & b == 'b2')

)


查看完整回答
反對 回復 2024-01-16
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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