I have the following table definition
def set_requirement(hero): hero.categoryID.requires=[IS_IN_DB(db,
'interfaceCategory.id', '%(name)s', orderby='interfaceCategory.id',
zero='Selecteer een interface', error_message='Selecteer een interface'),
IS_NOT_IN_DB(db(db.hero.categoryID==request.vars.categoryID),
'hero.nodeID', error_message='Combinatie hero en interface al in database')]
db.define_table('hero',
Field('nodeID', 'reference node', **isnode),
Field('categoryID', 'reference interfaceCategory', default='',
ondelete='RESTRICT', notnull=True, label='Interface categorie',
writable=False, readable=False),
Field('functionNavID', 'reference functionNav', default='',
requires=IS_IN_DB(db, 'functionNav.id', '%(name)s',
orderby='functionNav.id', zero='Selecteer een functie nav',
error_message='Selecteer een functie nav'), ondelete='RESTRICT',
notnull=True, label='Functie nav * '),
Field('heroFileName', length=32, writable=False, readable=False),
Field('heroFile', type='upload',
requires=[IS_EMPTY_OR(IS_IMAGE(extensions=('gif', 'jpg', 'jpeg', 'png'),
maxsize=(940,240), error_message='Afmeting: maxWidth is 940 pixels
maxHeight is 240 pixels. File format: gif, jpg, jpeg, png')),
IS_LENGTH(70*1024, error_message='File size overschreidt 70 KB')],
label='Hero file * ', autodelete=True),
Field('heroFileUrl', length=64, requires=IS_LENGTH(64,
error_message='Lengte overschreidt 64 tekens'), label='Hero shot file url *
'),
Field('createdOn', **attributes),
Field('modifiedOn', update=request.now, **attributes),
on_define=set_requirement,
migrate='hero.table')
Today while defining another table when I clicked the data administration
button I got the following error
<type 'exceptions.AttributeError'> 'Table' object has no attribute
'categoryID'
Traceback (most recent call last):
File "/Users/annet/web2py/gluon/restricted.py", line 217, in restricted
exec ccode in environment
File "/Users/annet/web2py/applications/dbModel/views/appadmin.html"
<http://127.0.0.1:8000/admin/default/edit/dbModel/views/appadmin.html>, line
107, in <module>
File "/Users/annet/web2py/gluon/dal.py", line 8034, in __getitem__
return self.__getattr__(str(key))
File "/Users/annet/web2py/gluon/dal.py", line 8040, in __getattr__
return self.lazy_define_table(tablename,*fields,**args)
File "/Users/annet/web2py/gluon/dal.py", line 7978, in lazy_define_table
if on_define: on_define(table)
File "/Users/annet/web2py/applications/dbModel/models/26_graphics_db.py"
<http://127.0.0.1:8000/admin/default/edit/dbModel/models/26_graphics_db.py>,
line 35, in set_requirement
def set_requirement(hero): hero.categoryID.requires=[IS_IN_DB(db,
'interfaceCategory.id', '%(name)s', orderby='interfaceCategory.id',
zero='Selecteer een interface', error_message='Selecteer een interface'),
IS_NOT_IN_DB(db(db.hero.categoryID==request.vars.categoryID), 'hero.nodeID',
error_message='Combinatie hero en interface al in database')]
File "/Users/annet/web2py/gluon/dal.py", line 8595, in __getitem__
return ogetattr(self, str(key))
AttributeError: 'Table' object has no attribute 'categoryID'
I am completely clueless as why I get this error when I remove the validator I
get the same error for
a similar validator on another table.
I am using web2py 2.7.4
Kind regards,
Annet
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.