Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用((条件1和条件2)或(条件2和条件3))构造sqlalchemy筛选器?_Python_Sqlalchemy - Fatal编程技术网

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。除非我遗漏了什么。