cyt*_*nox 5 python postgresql psycopg2
我需要调用一个PostgreSQL 8.4函数,它需要来自Python的17个输入参数.值存储在字典中.所以我可以写:
cur.execute("SELECT add_user(%s, %s, %s, %s, %s, %s, %s, .......)", user["nr"], user['email']...)
Run Code Online (Sandbox Code Playgroud)
是否可以自动将字典中的值映射到函数参数(与字典中的键同名)?
就像是:
cur.execute("SELECT add_user(*magic-here*)", user)
Run Code Online (Sandbox Code Playgroud)
以下语法应该这样做:
cur.execute("SELECT add_user(%(nr)s, %(email)s, ...) ...", user)
Run Code Online (Sandbox Code Playgroud)
感谢Thiefmaster对我最初的内容进行了更正:%(keyname)s参数格式只是Python Database API 2.0中定义的格式之一- 请参阅文档paramstyle.不幸的是,其他DB API 2.0数据库适配器可能不支持此语法.
有关类似问题的答案,但有一个额外的xkcd参考,请参阅:使用psycopg2/Python DB-API和PostgreSQL的参数化查询
| 归档时间: |
|
| 查看次数: |
4971 次 |
| 最近记录: |