У меня есть функция Python, которая получает множество переменных и строит из них SQL-запрос:
def myfunc(name=None, abbr=None, grade=None, ...)
Эти значения должны формировать запрос SQL. Для этого Те, кто равен None
, должны быть изменены на NULL
, а те, кто хранит полезные значения, должны быть приняты с '
s:
name="'"+name+"\'" if name else 'NULL'
abbr="'"+abbr+"\'" if abbr else 'NULL'
...
Lots of lines here - that's my problem!
...
А чем,
query="""INSERT INTO table(name, abbr, ...)
VALUES (%(name)s, %(abbr)s, ...) """ locals()
cur.execute(query)
Есть ли более приятный, более питонский способ изменения содержимого переменной в соответствии с этим правилом?
Адам