Please look into the following code:

db = DAL("sqlite://storage.sqlite")

from gluon.tools import *
auth = Auth(db)
auth.define_tables()
crud = Crud(db)

db.define_table('country',
   Field('name', unique=True),
   format = '%(name)s')

db.define_table('state',
   Field('country_id', db.country),
   Field('name', unique=True),
   format = '%(name)s')
    

class StateVirtualFields(object):
    def namecountryid(self):
        return str(self.state.country_id)+self.state.name
db.state.virtualfields.append(StateVirtualFields())




db.define_table('city',
   Field('state_id', db.state), 
   Field('name', unique=True),
   format = '%(name)s')   


db.country.name.requires = IS_NOT_IN_DB(db, db.country.name)
db.country.name.requires = IS_NOT_EMPTY()

db.state.name.requires = IS_NOT_IN_DB(db, db.state.name)
db.state.name.requires = IS_NOT_EMPTY()
#db.state.country_id.writable = db.state.country_id.readable = False
db.state.country_id.requires = IS_IN_DB(db, db.country.id, '%(name)s')
db.state.namecountryid.requires = IS_NOT_IN_DB(db, db.state.namecountryid)

Last statement does not work.

Please help.

Suresh

Reply via email to