Проблема передачи% s в функцию запроса - PullRequest
0 голосов
/ 21 октября 2018

У меня есть следующая функция, которая выполняет запрос к базе данных PostgreSQL:

def execute_query(query):
    con, cur = connect_to_db()
    cur.execute(query)
    con.commit()
    con.close()

Когда я пытаюсь отправить запрос, который включает% s,% s рассматривается как дополнительный аргумент, который производитследующая ошибка:

TypeError: execute_query () принимает 1 позиционный аргумент, но задано 2

Как включить% s без этой ошибки?Образец:

execute_query( """ DELETE FROM table WHERE column = %s """, [x[0]])

1 Ответ

0 голосов
/ 21 октября 2018

вам просто нужно принять дополнительный параметр ...

def execute_query(query, args):
    con, cur = connect_to_db()
    cur.execute(query,args)
    con.commit()
    con.close()

, хотя вы должны также взглянуть на args и kwargs и распаковать

...