How to set form.Dropdown args using db.select query

68 views
Skip to first unread message

Andrew Kowalik

unread,
Oct 23, 2012, 10:47:43 PM10/23/12
to we...@googlegroups.com

I am missing something rather simple but cannot figure out how to properly read a db.select query for use in form args.

Sample Code:

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)

This return (Storage {'name': u'google'}) as one of the form args. All I want is google read back. I know I am missing something simple, any pointers? Thanks.

Andrey Kuzmin

unread,
Oct 24, 2012, 5:41:27 AM10/24/12
to we...@googlegroups.com
Hey, I already answered you on stackoverflow.

db.select returns list of storages (webpy flavored dicts). And for Dropdown args you need list or list of tuples.

            form.option.args = [(o.name, o.name) for o in options]
or simply
            form.option.args = [o.name for o in options]

Andrew Kowalik

unread,
Oct 24, 2012, 6:59:22 AM10/24/12
to we...@googlegroups.com
Hah, sorry mate figured I would try both places. Saw it there too, I really appreciate it. Makes perfect sense! Thanks!
Reply all
Reply to author
Forward
0 new messages