すべてのデフォルト引数を受け取り、次の方法でそれらの引数から SQL クエリを生成する Python モジュールに次のメソッドがあります。
上記のSQLクエリを生成するためのより良い(そしてエレガントでPythonicな)方法があるかどうか疑問に思っています
def myquery(arg1=None, arg2=None, arg3=None):
query = "SELECT column FROM table WHERE"
params = []
if arg1 is not None:
query = query + " arg1 = " + arg1
params.append(arg1)
if arg2 is not None:
if params is not None:
query = query + "AND arg2 = " + arg2
else:
query = query + " arg 2 = " + arg2
params.append(arg2)
if arg3 is not None:
if params is not None:
query = query + "AND arg3 = " + arg3
else:
query = query + " arg 3 = " + arg3
params.append(arg3)
return query