Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Web2Py从列表中插入记录_Python_Database_Web2py - Fatal编程技术网

Python Web2Py从列表中插入记录

Python Web2Py从列表中插入记录,python,database,web2py,Python,Database,Web2py,这是我的桌子 db.define_table( 'user_interests', Field('user_id',db.auth_user), Field('Science','boolean'), Field("Arts",'boolean'), Field("BusinessEconomy",'boolean'), Field("ComputersTechnology",'boolean') ) 以及一个列表,其中包含布尔值,每个布尔值对应于表中字段的值 interests = [Tr

这是我的桌子

db.define_table(
'user_interests', 
Field('user_id',db.auth_user),
Field('Science','boolean'),
Field("Arts",'boolean'),
Field("BusinessEconomy",'boolean'),
Field("ComputersTechnology",'boolean')
)
以及一个列表,其中包含布尔值,每个布尔值对应于表中字段的值

interests = [True, False, True, True]
有没有一种方法可以像这样直接将此列表插入表中

db.user_interests.insert(user_id = auth.user_id, interests) 

我怎么做?非常感谢您的帮助。

我想您可以尝试以下方式:

lib_interests = ["Science", "Arts", "BusinessEconomy", "ComputersTechnology"]
interests = [True, False, True, True]
data = dict(zip(lib_interests, interests))
data.update(user_id = auth.user_id)
db.user_interests.insert(**data) 

谢谢,我试过了,但由于某种原因,它似乎不起作用。我正在处理一个ajax查询,所以我甚至不知道错误。您是否收到错误消息或javascript错误,您可以使用chrome开发工具检查。例如,您可以显示您的控制器代码吗?我编写的表中实际上有12个字段。此外,我没有得到错误的任何描述,我只收到了一个错误,谢谢重新加载页面也许您的代码可以简化一点,但这不是本文的目的。第65行我看到一个语法错误:fieldDict[user\u id]=auth.user\u id您应该删除。在db.user\u interests.insert**fieldDict之前,您可以尝试打印fieldDict,以验证每个条目的名称和值的格式是否正确