replace format="%(nombre)s - %(precio)s€" with
format= "%(nombre)s - %(precio)s\xe2\x82\xac" because labels mush be in ascii (or utf8) but not unicode. On Wednesday, 14 August 2013 15:57:24 UTC-5, juan wrote: > > Hello, > > It seems that the format option in db.define_table isn't working properly > when deployed on GAE. > > Please, consider these two tables: > > db.define_table('ingrediente', > Field('nombre', 'string', > requires=IS_NOT_EMPTY(error_message='Se ha de indicar el nombre')), > Field('precio', 'decimal(2,2)', > requires=IS_NOT_EMPTY(error_message='Se ha de indicar el precio'), > default=1), > format="%(nombre)s - %(precio)s") > > db.define_table('bocadillo', > Field('nombre', 'string', > requires=IS_NOT_EMPTY(error_message='Se ha de indicar el nombre')), > > Field('ingredientes', 'list:reference ingrediente', > comment='Seleccionar los componentes del bocadillo prediseñado usando > Control+click.')) > > The problem appears only in GAE and happens when some non-english > character (áéíóú) is in the field name in the first table. It fails to > render the SQLFORM of the second table. In addition, if I set the first > table's format to the preferred > > format="%(nombre)s - %(precio)s€" > > Note the new '€', then it always fails. > > Here is the GAE log: > > Traceback (most recent call last): > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/restricted.py", > line 212, in restricted > exec ccode in environment > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/applications/lapanza/controllers/appadmin.py", > line 433, in <module> > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/globals.py", > line 194, in <lambda> > self._caller = lambda f: f() > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/applications/lapanza/controllers/appadmin.py", > line 127, in insert > form = SQLFORM(db[table], ignore_rw=ignore_rw) > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/sqlhtml.py", > line 1140, in __init__ > inp = self.widgets.options.widget(field, default) > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/sqlhtml.py", > line 278, in widget > options = requires[0].options() > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/validators.py", > line 553, in options > self.build_set() > File > "/base/data/home/apps/s~lapanzaadomicilio-hrd/1.369502662945631224/gluon/validators.py", > line 548, in build_set > self.labels = [self.label % r for r in records]UnicodeDecodeError: > 'ascii' codec can't decode byte 0xe2 in position 10: ordinal not in range(128) > > > Is there anything I missed, or if it's a bug, is there something I can do? > > This is my first question and I am totally new to web2py, so please if > this question is already aswered, I'm sorry to bother you. > > Thank you > > > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.