Thank you Massimo, but how can it be resolved when the format attribute must represent fields in the database with special chars?. I mean, the hardcoded euro char is the minor problem here.
Thanks El jueves, 15 de agosto de 2013 04:07:53 UTC-5, Massimo Di Pierro escribió: > > 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.