Есть ли шаблон для работы с параметрами запроса на сервере колбы? Я знаю, что могу создать SQL-запрос слово в слово, используя строковые манипуляции в Python, но я считаю, что это уродливо и подвержено ошибкам, мне было интересно, есть ли лучший способ. Вот что у меня есть:
param1 = request.args.get('param1', type = int)
param2 = request.args.get('param2', type = int)
if param1 is not None:
if param2 is not None:
cursor.execute("SELECT * FROM table WHERE p1 = %s AND p2 = %s", (str(param1), str(param2)))
else:
cursor.execute("SELECT * FROM table WHERE p1 = %s", (str(param1),))
else:
if param2 is not None:
cursor.execute("SELECT * FROM table WHERE p2 = %s", (str(param2),))
else:
cursor.execute("SELECT * FROM table")
Легко видеть, что число возможных операторов SQL равно 2 числу параметров, которое выходит из-под контроля ... так что, опять же, без использования строковых манипуляций для пользовательскихпостроить запрос SQL, есть ли идиома или шаблон, который используется для достижения этого более элегантным способом? Спасибо.