do this: db.define.table('basic' Field('name1') ...,format='%(name1)s')
db.define.table('advanced' Field('name2',db.basic) ...,format='%(name2)s') # db.advanced.name.requires=IS_IN_DB(db,'basic.id','%(name1)s') db.define.table('data' Field('something',db.advanced) ...)