オプションの引数を受け取る関数があります。この関数内でデータベース テーブルをクエリしています。
私が欲しいのは:
オプションの引数が指定されている場合、別の追加の .filter() をデータベース クエリに追加したいと考えています。
私のクエリ行はすでにかなり長いので、クエリ全体を 2 回繰り返す 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()