Ara*_*rif 2 python dictionary sqlalchemy sqlsoup
我正在尝试使用 sqlsoup 插入字典。不幸的是,这不起作用:
db.blah_table.insert({"blah_field" : "blah_value"})
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误
TypeError: insert() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)
sqlsoup 的更新工作正常。我真的不想把它分解成
db.blah_table.insert(blah_field = "blah_value")
Run Code Online (Sandbox Code Playgroud)
这也有效。帮助!
在python中,您可以使用参数打包语法将字典作为关键字参数传递给任何函数**。
如果您将字典arguments定义为:
arguments = {'blah_field': 'blah_value'}
Run Code Online (Sandbox Code Playgroud)
您可以db.blah_table.insert使用该字典作为关键字参数进行调用,如下所示:
db.blah_table.insert(**arguments)
Run Code Online (Sandbox Code Playgroud)
这相当于:
db.blah_table.insert(blah_field=blah_value)
Run Code Online (Sandbox Code Playgroud)
**顺便说一句,虽然可以从字典中解包命名参数,但单个*可用于从列表或元组中解包位置参数。
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |