我有一个表有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