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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.