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


Reply via email to