That is true...

IS_IN_DB(db,'table.id', '%(name)s')

when it build the list of options for

<SELECT><OPTION value="{{=row.id}}">{{=name}}<OPTION>...</SELECT>

name is  '%(name)s' % row

since row belongs to a class that extends dict.




On 8 Lug, 01:26, Jonathan Lundell <[email protected]> wrote:
> On Jul 7, 2010, at 7:29 PM, Bruno Rocha wrote:
>
> > Open a Python terminal, and try this example
>
> >>>> d = {'id':1,'title':'web2py'}
> >>>> d
> > {'id': 1, 'title': 'web2py'}
> >>>> "Title for id %(id)s is %(title)s " % d
> > 'Title for id 1 is web2py '
>
> Unfortunately, none of this explains how the label argument is used in 
> IS_IN_DB(), nor is it explained in the manual. And I find the code pretty 
> opaque.
>
> How does the above relate to IS_IN_DB?
>
> > 2010/7/7 Bruno Rocha <[email protected]>:
> >> Take a look to the String Formating and String Interpolation in Python
> >> Documentation
>
> >>http://docs.python.org/library/stdtypes.html#string-formatting-operat...
>
> >> 2010/7/7 ra3don <[email protected]>:
> >>> I apologize for a seemingly simple question, but what exactly does '%
> >>> (title)s' do? I ran across it in the book in the wiki section, the
> >>> whole line reads.
>
> >>> db.document.page_id.requires = IS_IN_DB(db, 'page.id', '%(title)s')
>
> >>> Thanks in advance,
>
> >>> ra3don.

Reply via email to