我有一个接收可选参数的函数。我在这个函数中查询一个数据库表。
我想要的是:
如果指定了可选参数,我想在我的数据库查询中添加另一个额外的 .filter() 。
我的查询行已经很长了,所以我不想做 If .. else .. 我重复整个查询两次。
这样做的方法是什么?
下面是我的查询示例,如果指定了 my_val,我需要添加另一个过滤行。
def my_def (my_val):
query = Session.query(Table1, Table2).\
filter(Table1.c1.in_(some_val)).\
filter(Table1.c2 == 113).\
filter(Table2.c3 == val1).\
filter(Table1.c4 == val2).\
filter(Table2.c5 == val5).\
all()