【问题标题】:Web2Py insert record from listWeb2Py 从列表中插入记录
【发布时间】:2013-09-10 08:29:27
【问题描述】:

这是我的桌子

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) 

我该怎么做?任何帮助表示赞赏。

【问题讨论】:

    标签: python database web2py


    【解决方案1】:

    我觉得你可以试试这样的:

    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_id]= auth.user_id)”你应该删除“)”。在 "db.user_interests.insert(**fieldDict)" 之前,也许您可​​以尝试打印 fieldDict 以验证每个条目的格式是否正确(名称和值)
    猜你喜欢
    • 2015-04-07
    • 2019-06-29
    • 2020-08-04
    • 2012-05-11
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多