Just started with web2py... great framework.
I tried and failed however to find an answer to why two validators seem to
validate differently in terms of checking the syntax of parameters.
I do the following:
tableNames = ['taxaTS', 'taxaPF']
for tableName in tableNames:
# Create the taxa table
db.define_table(tableName,
Field('name' , unique=True, length=512,
comment='*Required'),
Field('root_Path','list:string', default=['root'],
length=5200, compute=computers.calcRootPath()),
Field('is_Leaf','boolean',default=False),
Field('parent',length=512,default='root',
comment='*Required'),
Field('note','text'),
Field('link_Paths','list:string',default=[]),
auth.signature)
## Field and Table Form Rules
# name
db[tableName].name.requires = IS_NOT_EMPTY()
line 40 db[tableName].name.requires = IS_NOT_IN_DB(db, '[tableName].name')
# Name is unique
# parent
db[tableName].parent.requires = IS_NOT_EMPTY()
line 44 db[tableName].parent.requires = IS_IN_DB(db, '[tableName].name')
# Parent name must exist in table already
When the above code executes, I get the following error:
<type 'exceptions.AttributeError'> 'DAL' object has no attribute
'[tableName]'Version
web2py™ Version 2.14.3-stable+timestamp.2016.03.26.23.02.02
Python Python 2.7.3: C:\Python27\python.exe (prefix: C:\Python27)Traceback
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Traceback (most recent call last):
File "C:\Users\User\PycharmProjects\bladeCloud\web2py\gluon\restricted.py",
line 227, in restricted
exec ccode in environment
File
"C:/Users/User/PycharmProjects/bladeCloud/web2py/applications/bc/models/db_bc_kb.py"
<http://127.0.0.1:8000/admin/default/edit/bc/models/db_bc_kb.py>, line 44, in
<module>
db[tableName].parent.requires = IS_IN_DB(db, '[tableName].name') #
Parent name must exist in table already
File "C:\Users\User\PycharmProjects\bladeCloud\web2py\gluon\validators.py",
line 529, in __init__
field = self.dbset.db[items[0]][items[1]]
File
"C:\Users\User\PycharmProjects\bladeCloud\web2py\gluon\packages\dal\pydal\base.py",
line 914, in __getitem__
return self.__getattr__(str(key))
File
"C:\Users\User\PycharmProjects\bladeCloud\web2py\gluon\packages\dal\pydal\base.py",
line 921, in __getattr__
return BasicStorage.__getattribute__(self, key)
AttributeError: 'DAL' object has no attribute '[tableName]'
It doesn't like line 44 but is ok with line 40.
Can someone help?
Thanks...Norm (really new at this)
--
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/d/optout.