IS_EMPTY_OR(IS_IN_DB(db, 'Examples.id', 'Examples.id'))

should be

IS_EMPTY_OR(IS_IN_DB(db, 'Examples.id', '%(id)s'))

On Sep 28, 9:47 am, Jurgis Pralgauskis <[email protected]>
wrote:
> seems I found, that responsible for this is
> Field("tpl_invalidator", "reference Examples",
> requires=IS_EMPTY_OR(IS_IN_DB(db, 'Examples.id', 'Examples.id')) ),
>
> still interesting why? ...
>
> the problem is validator IS_IN_DB , as when I remove it -- its ok
> again
>
> I can worke-around with defining
> db.Examples.tpl_invalidator.requires=IS_EMPTY_OR(IS_IN_SET( [ item.id
> for item in db().select(db.Examples.ALL) ] ) )
> but probably its ineficient or so
>
> On Sep 28, 5:10 pm, Jurgis Pralgauskis <[email protected]>
> wrote:
>
> > any ideas?
> > nongae doesn't complain...
>
> > this happens only in GAE on  update or inset record (selects works ok)
> > GAE admin also lets edit the values.
>
> > ERROR    2010-09-28 13:59:39,535 restricted.py:151] Traceback (most
> > recent call last):
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/
> > restricted.py", line 188, in restricted
> >     exec ccode in environment
> >   File "/media/data/veikla/coding/web2py_gae_test/applications/
> > CodeByExample/controllers/appadmin.py:update", line 410, in <module>
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/globals.py",
> > line 96, in <lambda>
> >     self._caller = lambda f: f()
> >   File "/media/data/veikla/coding/web2py_gae_test/applications/
> > CodeByExample/controllers/appadmin.py:update", line 273, in update
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/sqlhtml.py",
> > line 768, in __init__
> >     inp = self.widgets.options.widget(field, default)
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/sqlhtml.py",
> > line 186, in widget
> >     options = requires[0].options()
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/
> > validators.py", line 2321, in _options
> >     options = self.other.options()
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/
> > validators.py", line 422, in options
> >     self.build_set()
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/
> > validators.py", line 414, in build_set
> >     self.dbset.select(self.dbset._db[self.ktable].ALL, **dd)
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/contrib/
> > gql.py", line 736, in select
> >     (items, tablename, fields) = self._select(*fields, **attributes)
> >   File "/media/data/veikla/coding/web2py_gae_test/gluon/contrib/
> > gql.py", line 721, in _select
> >     items = items.order(order)
> >   File "/media/data/veikla/coding/google_appengine/google/appengine/
> > ext/db/__init__.py", line 2248, in order
> >     raise PropertyError('Invalid property name \'%s\'' % property)
> > PropertyError: Invalid property name ''
>
> > I even don't know which of properties has problems :(
>
> > my clumsy model is here ctrl+F: "Examples" 
> > tableftp://ftp.akl.lt/users/jurgis/web2py/problems/db_snapshot.py
>
>

Reply via email to