在使用带有运算符的 pypika 生成查询时,我对使用多个条件感到有些困惑。
from pypika import Field, Query
query = Query.from_('test').select('column1','column2')
query = query.where(operator.eq(Field('column1'), 12))
operator.eq
使用上面的代码,我可以使用for添加条件,equal
我们可以进行其他操作,如下所示。
operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.not
在我的情况下,我动态地获得操作值
Equal
NotEqual
LessThan
LessThanOrEqual
GreaterThan
GreaterThanOrEqual
如何在不添加大量if
条件的情况下形成查询?operator.eq
相反,我试图找到一个函数并使用它们operator.le(a, b)
来Equal
调节?LessThanOrEqual
where
query = query.where(operator.eq(Field('column1'), 12))