Wow!! Thanks Niphlod, this tip worked like a charm!! El jueves, 20 de diciembre de 2012 20:53:14 UTC-3, Niphlod escribió: > > my bad, sorry Christian. > > myset = { 0:'Quiet',1:'Running',2:'Fail'} > .... > Field('action', 'integer', > requires=IS_IN_SET(myset), > represent=lambda value, row: myset.get(value, None) > # or myset[value] if you are totally sure that myset contains > all the possible values > ) > > > Tested ! > > On Friday, December 21, 2012 12:13:11 AM UTC+1, villas wrote: >> >> I guess you need to use: actions.represent as well. >> >> >> On Thursday, December 20, 2012 9:46:58 PM UTC, Niphlod wrote: >>> >>> Disclaimer: not tested >>> why don't you just change the action Field to >>> >>> Field('action', requires=IS_IN_SET({ 0:'Quiet',1:'Running',2:'Fail'})) >>> >>> On Thursday, December 20, 2012 10:23:07 PM UTC+1, Jim S wrote: >>>> >>>> Have you though about adding a table to define the relation between >>>> 'index' and the text: >>>> >>>> db_actions.define_table('actions', >>>> Field(name, length=20, label='Action')) >>>> >>>> Then modify db_events so field index looks like: >>>> >>>> Field('index', db.actions, label='Action), >>>> >>>> Table actions would then have three records, >>>> >>>> Quiet >>>> Running >>>> Fail >>>> >>>> This should then automatically display the right value - the only >>>> problem is that it wouldn't guarantee that the index would be 0, 1, and 2. >>>> It would be whatever the primary key on the actions table worked out to >>>> be. >>>> >>>> The other way to handle it would be to write a custom validator that >>>> changed the numeric value as you mentioned. I haven't done that before, >>>> but heard it isn't that difficult. >>>> >>>> -Jim >>>> >>>> On Thu, Dec 20, 2012 at 2:45 PM, Christian Espinoza <chesp...@gmail.com >>>> > wrote: >>>> >>>>> My Model for this App >>>>> db_events.define_table('events', >>>>> Field('devid', length=15, label='CODE'), >>>>> Field('type', length=15, label='Type'), >>>>> Field('index','integer', label='Action'), >>>>> Field('datetime','datetime', label='Date'), >>>>> Field('latitude','double', label='Lat'), >>>>> Field('longitude','double', label='Lon'), >>>>> Field('velocity','double', label='Vel'), >>>>> Field('heading', 'integer', label='Dir'), >>>>> Field('pfm','integer', label='PFM'), >>>>> Field('age','integer', label='Age'), >>>>> Field('odometer','double', label='Od') >>>>> ) >>>>> -- >>>>> >>>>> >>>>> >>>>> >>>> >>>>
--