Hi! I use Version 1.94.6 (2011-03-27 18:20:38).
I have in db: ------------------------- db.define_table( 'mail_domain', Field( 'domainname', 'string', label = 'Domain név', requires = IS_NOT_EMPTY() ), signature, migrate = settings.migrate, ) db.define_table( 'mail_domain_alias', Field( 'mail_domain_id', db.mail_domain, label = 'Domain név', requires = IS_IN_DB( db, db.mail_domain.id, '% (domainname)s' ), *********writable = False,********* ), Field( 'alias', 'string', label = 'Aliasz', requires = IS_NOT_EMPTY() ), signature, migrate = settings.migrate, ) -------------- controller: ---------------- def domain(): form = crud.update( db.mail_domain, request.args( 0 ) ) return dict( form = form ) def domainalias(): db.mail_domain_alias.mail_domain_id.default = session.domainname_id form = crud.update( db.mail_domain_alias, request.args( 0 ) ) return dict( form = form ) def setdomain(): session.domainname_id = request.args( 0 ) session.domainname = db( db.mail_domain.id == session.domainname_id ).select( db.mail_domain.domainname ).first().domainname redirect( URL( 'default', 'index' ) ) ----------------- If the session.domainname_id is set to a valid mail_domain record ID, than the crud in domainalias shows the reference field as number and not as domainname string. But if I remove the writable=False in mail_domain_alias table's mail_domain_id field than I have a dropdown menu with the right record selected as domainname and not as ID number. I think the right behavior would be if I set the writable = True that I would see the right record not as ID but as %(domainname)s