hello I get the same problem for list:string or list:integer on GAE
using version 1.85.3
note: I think now, that the way I defined requires here is not needed,
but anyway the errorreporting should handle it more fluently :)
if from appadmin I try to insert recrod with
Field('changed_fields', 'list:string', default=[],
requires=IS_EMPTY_OR(IS_IN_SET(['explanation', 'output'],
multiple=True))
),
and if I dont select anything for this field, I get:
Internal error
Ticket issued: unknown
otherwise it inserts ok.
on nonGAE it works without complaints
I'd expect Validation error message instead.
on terminal I can see:
ERROR 2010-09-25 07:30:12,628 restricted.py:151] Traceback (most
recent call last):
File "/media/data/veikla/coding/web2py_gae_test/gluon/
restricted.py", line 188, in restricted
exec ccode in environment
File "/media/data/veikla/coding/web2py_gae_test/applications/
CodeByExample/controllers/appadmin.py:insert", line 410, in <module>
File "/media/data/veikla/coding/web2py_gae_test/gluon/globals.py",
line 96, in <lambda>
self._caller = lambda f: f()
File "/media/data/veikla/coding/web2py_gae_test/applications/
CodeByExample/controllers/appadmin.py:insert", line 125, in insert
File "/media/data/veikla/coding/web2py_gae_test/gluon/sqlhtml.py",
line 1103, in accepts
self.vars.id = self.table.insert(**fields)
File "/media/data/veikla/coding/web2py_gae_test/gluon/contrib/
gql.py", line 296, in insert
tmp = self._tableobj(**fields)
File "/media/data/veikla/coding/google_appengine/google/appengine/
ext/db/__init__.py", line 813, in __init__
prop.__set__(self, value)
File "/media/data/veikla/coding/google_appengine/google/appengine/
ext/db/__init__.py", line 542, in __set__
value = self.validate(value)
File "/media/data/veikla/coding/google_appengine/google/appengine/
ext/db/__init__.py", line 3013, in validate
value = super(ListProperty, self).validate(value)
File "/media/data/veikla/coding/google_appengine/google/appengine/
ext/db/__init__.py", line 569, in validate
raise BadValueError('Property %s is required' % self.name)
BadValueError: Property changed_fields is required
---
ps.: later I thought that IS_EMPTY_OR is no use here -- if list is
empty then it is empty itself :)
but IS_EMPY allows to have None value as I suppose.
anyway after removing this constraint and changing None to [],
everything seems to work fluently on both GAE and nonGAE.
by the way, when trying to import from csv with IS_EMPTY_OR, I was
getting flash message
"Property changed_fields is required"
where there is None for this field