0
我正在Django 1.8中工作,并使用connection.cursor
进行一些原始SQL查询。使用cursor.executemany传递多个参数?
我的问题是关于如何安全地向游标提供多个参数。这里是我的代码:
cursor = connection.cursor()
query = "SELECT cost, id, date, org_id FROM mytable "
query += " WHERE ("
for i, c in enumerate(codes):
query += "id=%s "
if (i != len(codes)-1):
query += ' OR '
query += " AND "
for i, c in enumerate(orgs):
query += "org_id=%s "
if (i != len(orgs)-1):
query += ' OR '
cursor.execute(query, tuple(codes), tuple(orgs))
但是这给了我:
TypeError: execute() takes at most 3 arguments (4 given)
我试图按照the PEP documentation on execute
,它说,人们可以使用executemany
代替,但似乎并没有帮助任何:
cursor.executemany(query, [tuple(codes), tuple(orgs)])
我只是不能没有示例就遵循PEP文档。谁能帮忙?
https://docs.python.org/2/library/sqlite3。 HTML – IanAuld