Когда у меня есть курсор, я знаю, что могу безопасно выполнить запрос следующим образом:
cur.execute("SELECT * FROM foo WHERE foo.bar = %s", (important_variable,))
Есть ли способ просто безопасно получить строку, не выполняя запрос? Например, если important_variable
- строка, такая как "foo 'bar' \"baz"
, я бы хотел, чтобы она была экранирована соответствующим образом:
"SELECT * FROM foo WHERE foo.bar = "foo \'bar\' \"baz"
(или каково бы ни было подходящее побег, я даже не уверен).
Я использую psycopg и sqlobject.