Thanks a lot to both of you the IS_EMPTY_OR() was indeed what I was
needing (note to self: reread the book...)

Could anyone of you tell me when the the combo is populated ? I'm just
asking because now, when I enter a record using the appadmin
interface, the new record is not appearing in the combo but is
correctly inserted in the table. I have to reload the page in order to
see the last inserted category in the combo.


For the "0 or" it's a bad cut 'n paste... my bad.



On Oct 21, 2:56 pm, DenesL <[email protected]> wrote:
> Hi Calycé,
>
> note that:
> store.category.parent_category.requires = 0 or IS_IN_DB(db,
> db.category.id, '%(name)s')
> is equivalent to:
> store.category.parent_category.requires = IS_IN_DB(db, db.category.id,
> '%(name)s')
> since 0 evaluates to False.
>
> I believe that what you want is:
> store.category.parent_category.requires = IS_EMPTY_OR(IS_IN_DB(db,
> db.category.id, '%(name)s'))
>
> Denes.
>
> On Oct 21, 3:35 am, Calycé <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi all,
>
> > I have created a table with a self reference as described below:
> > db.define_table('category',
> >     Field('parent_category', 'reference category'),
> >     Field('name', 'string', length=40, required=True),
> >     Field('description', 'text', required=True),
> >     Field('small_image', 'upload'))
>
> > Now I'd like to have an "optional requires" clause. For example, if I
> > add the following clause "store.category.parent_category.requires = 0
> > or IS_IN_DB(db, db.category.id, '%(name)s')" I have a nice combo
> > whenever I use the appdadmin to insert rows BUT I have to select
> > something from the combo. In my case, the parent_category field should
> > be optional. In extenso, categories without parent_category would be
> > root categories so selecting a parent_category is optional.
>
> > Is there a way to present a combo as does the "requires" but without
> > enforcing the field ? Do I have to create a specific form for that ?

Reply via email to