Web Py |如何使用db.select查询设置form.Dropdown args

时间:2012-10-24 02:45:25

标签: python python-2.7 web.py

我遗漏了一些相当简单但却无法弄清楚如何正确读取db.select查询以便在表单args中使用的东西。

示例代码:

class index:
    form = web.form.Form(form.Dropdown(name='option',args=[]))

    def GET(self):
            dbresult = db.select('test')
            options = db.select('test',what='name',group='name')
            form = self.form()
            form.option.args = options
            return render.index(dbresult,form)

此返回(存储{'名称':u' google'})作为表单参数之一。我想要的只是谷歌回读。我知道我错过了一些简单的指针吗?感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

class index:
    form = web.form.Form(form.Dropdown(name='option',args=[]))

    def GET(self):
            dbresult = db.select('test')
            options = db.select('test',what='name',group='name')
            form = self.form()
            form.option.args = [(o.name, o.name) for o in options]
            return render.index(dbresult,form)

Dropdown args应该是列表或列表列表。在(o.name, o.name)中,第一个是选项的值(我通常将其设置为列的id),第二个是其描述。如果它们相同,那么[o.name for o in options]也应该有效。