1

我错过了一些相当简单的东西,但无法弄清楚如何正确读取 db.select 查询以在表单参数中使用。

示例代码:

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)

此返回 (Storage {'name': u'google'}) 作为表单参数之一。我想要的只是谷歌回读。我知道我错过了一些简单的东西,任何指针?谢谢。

4

1 回答 1

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)

下拉参数应该是列表或列表列表。第一个是选项的值(我通常将其设置为(o.name, o.name)列的 id),第二个是它的描述。如果它们相同,那么[o.name for o in options]也应该工作。

于 2012-10-24T09:29:55.680 回答