Python 如何使用((条件1和条件2)或(条件2和条件3))构造sqlalchemy筛选器?
Python 如何使用((条件1和条件2)或(条件2和条件3))构造sqlalchemy筛选器?,python,sqlalchemy,Python,Sqlalchemy,query.filter(a=='a',b=='b')。filter(a=='a2',b=='b2') 将创建一个基本上是(条件1和条件2)和(条件3和条件4)的筛选器 相反,我希望它是(条件1和条件2)或(条件3和条件4)。我还想潜在地将数量可变的这些外部ORs链接起来 这在SQLAlchemy中可能吗?将您的情况视为构建块会有所帮助。首先,将最小的一个放在一起,即两个和s: 和(a='a',b='b'), 和(a='a2',b='b2') 然后,您可以使用或将其连接: query.filt
query.filter(a=='a',b=='b')。filter(a=='a2',b=='b2')
将创建一个基本上是(条件1和条件2)和(条件3和条件4)的筛选器
相反,我希望它是(条件1和条件2)或(条件3和条件4)。我还想潜在地将数量可变的这些外部ORs链接起来
这在SQLAlchemy中可能吗?将您的情况视为构建块会有所帮助。首先,将最小的一个放在一起,即两个
和
s:
和(a='a',b='b'),
和(a='a2',b='b2')
然后,您可以使用或将其连接:
query.filter(
或_(
和(a='a',b='b'),
和(a='a2',b='b2')
)
)
或者,如果您喜欢二进制运算符,则以下内容是等效的:
query.filter(
(a=='a'和b=='b')
|(a=='a2'和b=='b2')
)
这是否回答了您的问题@鲁本,我见过这些。这些问题中没有一个有“和”的条件吗?它们只是显示条件1或条件2。除非我遗漏了什么。