My guess is that IS_IN_DB doesn't like joins because it needs to
identify one table to display.

On Apr 22, 5:31 am, niknok <nikolai...@gmail.com> wrote:
> I still couldn't find out how to do it with IS_IN_DB and a DAL Set.
>
> But using IS_IN_SET works:
>
>         mp_list=gdb(gdb.municipality.province==gdb.province.id)\
>                 .select(gdb.municipality.psgc_m,gdb.municipality.name,\
>                         
> gdb.province.name,orderby=gdb.municipality.name).as_list()
>         mp_dd2=[(i['municipality']['psgc_m'],\
>                 i['municipality']['name']+' ('+i['province']['name']+')')\
>                         for i in mp_list if i]
>
>         Field('muni',requires=IS_IN_SET(mp_dd2,zero='None')
>
> On Apr 22, 11:02 am, niknok <nikolai...@gmail.com> wrote:
>
> > I have a set
>
> > mp_list=gdb(gdb.municipality.province==gdb.province.id)
>
> > which I'm trying to use it in a select field but causes an error:
>
> > Field('municipality',requires=IS_IN_DB(mp_list,'municipality.psgc_m',
> >                                         '%(municipality.name)s 
> > (%(province.name)s)'))
>
> > I'm trying to get it to show in the dropdown like this: municipal_name
> > (province_name). How do I format the field names from a set?
>
> > I tried and can generate a query of the rows I'd like to have :
>
> > mp_list=gdb(gdb.municipality.province==gdb.province.id)\
> >                 .select(gdb.municipality.psgc_m,gdb.municipality.name,\
> >                         gdb.province.name,orderby=gdb.municipality.name)
> > for x in mp_list: print x['municipality']['name']+' 
> > ('+x['province']['name']+')'
>
>

Reply via email to