Thanks about 1 zillion times :) > Oh, and to get rid of the empty choice at the top of the list, add > zero=None: > > IS_IN_DB(..., zero=None) > > On Wednesday, July 13, 2011 9:22:50 PM UTC-4, Anthony wrote: > > For reference, see > > http://web2py.com/book/default/chapter/07#Database-Validators. > > > > On Wednesday, July 13, 2011 9:21:54 PM UTC-4, Anthony wrote: > >> IS_IN_DB takes a DAL set, so you can limit the records returned. If you > >> want the record ID returned, use db.setup.id. So, maybe something like > >> this: > >> > >> Field('setup', requires=IS_IN_DB(db(db.setup.ready==True), db.setup.id, > >> '%(setupname)s')) > >> > >> > >> Anthony > >> > >> On Wednesday, July 13, 2011 9:06:03 PM UTC-4, Gwayne aka Mike Veltman > >> > >> wrote: > >>> This will probably a facepalm moment but I can not figure it out. > >>> > >>> My present used form function > >>> > >>> form = SQLFORM.factory( > >>> Field('setup', requires=IS_IN_DB(db, db.setup.setupname, > >>> > >>> '%(setupname)s') > >>> > >>> )) > >>> > >>> Model > >>> > >>> db.define_table('setup', > >>> > >>> Field('setupname', type='string', > >>> > >>> unique=True, > >>> label=T('Setup name')), > >>> > >>> Field('description', type='string', > >>> > >>> label=T('Description')), > >>> > >>> Field('frame_id', db.frame, > >>> > >>> label=T('Frame ID')), > >>> > >>> Field('course_id', db.course, > >>> > >>> label=T('Course ID')), > >>> > >>> Field('ready', type='boolean', > >>> > >>> default=False, > >>> label=T('Ready for use')), > >>> > >>> Field('nostorage', type='boolean', > >>> > >>> default=False, > >>> label=T('No storage needed')), > >>> > >>> Field('noprofiles', type='boolean', > >>> > >>> default=False, > >>> label=T('No profiles needed')), > >>> > >>> Field('nonim', type='boolean', > >>> > >>> default=False, > >>> label=T('No nim actions needed')), > >>> > >>> Field('securitylevel', type='integer', > >>> > >>> default=0, > >>> label=T('Security Level')), > >>> > >>> Field('created_on','datetime',default=request.now, > >>> > >>> label=T('Created On'),writable=False,readable=False), > >>> > >>> Field('modified_on','datetime',default=request.now, > >>> > >>> label=T('Modified On'),writable=False,readable=False, > >>> update=request.now), > >>> > >>> format='%(setupname)s', > >>> migrate=settings.migrate) > >>> > >>> What I try to get is that the form only shows the setupname of the > >>> records > >>> where setup.read==True and then returns setup.id so I can use that. > >>> > >>> A addtional would be that the first selection is the first record and > >>> not > >>> > >>> empty. > >>> > >>> Thanks in advance. > >>> > >>> > >>> With regards, > >>> Mike Veltman
With regards, Mike Veltman