我有一个用户数据库和一个水果数据库,用户填写复选框以选择他们拥有的水果。
在配置文件中,我想反映此信息,但我不知道如何在 web2py 中查询数据库以显示所有设置为True
.
可以通过 SQL 查询来完成,还是我需要通过选择用户水果记录来过滤结果?
这是我的数据库模型:
db.define_table('fruit',
Field('id', 'reference auth_user'),
Field('apple','boolean',label=T('Apple')),
Field('apricot','boolean',label=T('Apricot')),
Field('cherry','boolean',label=T('Cherry')),
Field('fig','boolean', label=T('Fig')),
Field('lychee','boolean', label=T('Lychee')),
Field('peach','boolean', label=T('Peach')),
Field('pear','boolean', label=T('Pear')),
Field('plum','boolean', label=T('Plum')))
这是我的控制器(显然它不起作用。它只是返回<Set 0>
)。
我已经尝试了一些来自谷歌搜索的不同组合,但没有一个达到预期的结果:
def profile():
id = auth.user.id or redirect(URL('default', 'index'))
user = db.auth_user[id]
fruit = db.fruit(id=id)
produce = db(fruit == True)
return dict(user=user, produce=produce)