AH! Yes, now it makes sense..... to modify like this, all magic
(for me at least) goes away:
db.define_table('tableE',SQLField('name'))
db.define_table('tableA',SQLField('tableE_id',db.tableE),SQLField('name'))
condition=db.tableE.name.like('%o') ## records where name ends in 'o'
db.tableA.tableE_id.requires=IS_IN_DB(db(condition),'tableE.id','%
(name)s')
Thanks!