【发布时间】:2016-01-17 12:28:58
【问题描述】:
对于 SQL 语句,我只想在输入变量不是 None 时进行 OR 过滤。
例如
# input variable
var_1 = "apple"
var_2 = "pear"
query = session.query(Table)
if var_1:
query = query.filter(or_(Table.field1 == var_1))
if var_2:
query = query.filter(or_(Table.field2 == var_2))
但这是不可能的。第二个查询变成了一个 AND 语句。
我不想这样做,因为我不想比较输入变量是否为 null 或空字符串。
query = query.filter(or_(Table.field1 == var_1, Table.field2 == var_2))
我该如何解决这个问题?
【问题讨论】:
标签: python sqlalchemy