They both work, but there is a slight difference:
zero='None' shows 'None' in the drop-down menu
zero=None just shows a blank menu-item

I wanted to show the text.

On Fri, Dec 10, 2010 at 9:24 AM, mr.freeze <[email protected]> wrote:

> I think you want zero=None instead of zero='None', right?
>
> On Dec 9, 5:53 pm, John-Kim Murphy <[email protected]> wrote:
> > *I figured it out. I needed to add this validator:*
> > db.inbite.parent.requires = IS_EMPTY_OR(IS_IN_DB(db, 'inbite.id',
> > zero='None'))
> >
> > Otherwise the appadmin insert was inserting rows with parent=0, thus
> > introducing a reference to a non-existent row.
> > This also happens with the Web2Py book example for self-reference (person
> > table with father and mother)
> >
> >    - note: inserts via the CLI (like in the book) do not cause problems
> in
> >    the appadmin query page
> >    - only when a row is inserted via the appadmin interface with a
> default,
> >    blank self-reference field
> >
> > Is there a better method for adding a self-referential field that can
> point
> > to nothing?
> >
> > *Now I get a new error when I click the 'None' reference. This is not
> such a
> > big deal, though:*
> >
> > ValueError: invalid literal for int() with base 10: 'None'
> >
> > John
> >
> > On Fri, Dec 10, 2010 at 8:08 AM, Ivan Matveev <[email protected]>
> wrote:
> > > Your code works on my 3 weeks old web2py and MySQL.
> > > I can insert/view the table with db admin.
> >
> >
>

Reply via email to