mdpierro is just saying that a simple patch needs to be made to
IS_IN_DB.  Until then, you can create a widget to remove duplicates:

def unique_items_widget(f,v):
    inp = SQLFORM.widgets.options.widget(f,v)
    vals = []
    for k, opt in enumerate(inp):
        if not opt['_value'] in vals:
            vals.append(opt['_value'])
        else:
            del inp[k]
    return inp

vul.authors.name.widget = unique_items_widget


On Jun 8, 8:49 pm, kike <[email protected]> wrote:
> In what part of the sentence
> vul.authors.name.requires=IS_IN_DB(vul,vul.authors.name) I need
> aggregate a groupby option to work, because in that sentence that
> parameter is incorrect and if I aggregate a groupby parameter in
> f=SQLFORM.factory(vul.authors.name) nothing append.
> How I can fixed that
> thank for your help
>
> On Jun 8, 1:39 am, mdipierro <[email protected]> wrote:
>
> > haha. I think we need to add a groupby option to IS_IN_DB.
>
> > On Jun 7, 5:16 pm, kike <[email protected]> wrote:
>
> > > Hi I need a form to search, and in that form a field with some
> > > database values, I wrote the following
>
> > > vul.authors.name.requires=IS_IN_DB(vul,vul.authors.name)
> > >         f=SQLFORM.factory(vul.authors.name)
>
> > > that work perfect but my problems is in my database exist several
> > > authors with the same name, and that code list all of them, how I show
> > > only one of all of the same name.
>
> > > thank for your help
>
>

Reply via email to