Basta passare i parametri della query come secondo argomento per execute
, come:
>>> cur.execute(
... """INSERT INTO some_table (an_int, a_date, a_string)
... VALUES (%s, %s, %s);""",
... (10, datetime.date(2005, 11, 18), "O'Reilly"))
Quindi, tutti i parametri verranno correttamente sottoposti a escape.
Questo perché psycopg2
segue Specifica API del database Python v2.0
e supporta query parametrizzate sicure.
Vedi anche:
- Query parametrizzate con psycopg2 / Python DB-API e PostgreSQL
- psycopg2 equivalente di mysqldb.escape_string?