我有一個表有enemy_one
,fight_id
和enemy_two
。SqlAlchemy如何查詢列A == a和B == b和A == b和B == a
事情是,有時enemy_two
變成enemy_one
,反之亦然。
我可以這樣做:
session.query(Fight.fight_id).filter(Fight.enemy_one=='Jack', Fight.enemy_two=='Fat Chinese').all()
則:
session.query(Fight.fight_id).filter(Fight.enemy_one=='Fat Chinese', Fight.enemy_two=='Jack').all()
而且這樣我得到的所有的戰鬥,但有一種方法,這兩個查詢的結合在一起?
如果你沒有使數據模型非規範化,你會有一個標籤帶有'fight_id'和'enemy_id',適合任何數量的敵人。然後你可以檢查你是否有給定的'fight_id'的兩個敵人的記錄。只是說。 – 9000