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,以验证每个条目的名称和值的格式是否正确