because now db.table.insert(yourlistfield=.....)
has to be a list. You need to create a validator that takes the input and filters it into a list. I cannot write that for you since it depends on how you insert the data. On Feb 17, 12:57 pm, Wes James <[email protected]> wrote: > I removed all the data and tweaked the model a bit so all it looks like is: > > if request.env.web2py_runtime_gae: > db = DAL('gae') > session.connect(request, response, db=db) # and store sessions and > tickets there > else: > db = DAL('sqlite://storage.sqlite') > > from gluon.tools import * > crud=Crud(globals(),db) > > from gluon.contrib.gql import gae > > db.define_table('ideModelAPI', > Field('ideModelAPIitem','string'), > Field('ideModelAPITip','text'), > Field('ideModelAPIkey',type=gae.StringListProperty()) > ) > > but when I go to /app/ > > /app/default/controller/create/table > > and submit the data, I still get: > > BadValueError: Property ideModelAPIkey must be a list > > This is even with a blank value, or [], or ['a'] for tests. > > Is there something wrong with gql.py? > > -wes > > On Wed, Feb 17, 2010 at 9:56 AM, Wes James <[email protected]> wrote: > > After some changes when I try to add an entity on gae through their > > interface, the StringListProperty field does not even show for me to > > put data in it. > > > If I edit a record that already has some data, the StringListProperty > > field has [] in it, but if I leave it blank or add some data like > > ['a','b'] I get the error: > > > ...' > > > File > > "/base/data/home/apps/web2pyapi/1.339952435474722330/gluon/contrib/gql.py", > > line 719, in update > > setattr(item, field, value) > > File "/base/python_lib/versions/1/google/appengine/ext/db/__init__.py", > > line 472, in __set__ > > value = self.validate(value) > > File "/base/python_lib/versions/1/google/appengine/ext/db/__init__.py", > > line 2731, in validate > > raise BadValueError('Property %s must be a list' % self.name) > > BadValueError: Property ideModelAPIkey must be a list > > > What is it about blank, or even [] or ['a','b'] that is not a list? > > > and why is google interface not providing a field for adding a list > > value for that field? > > > -wes > > > On Wed, Feb 17, 2010 at 9:09 AM, mdipierro <[email protected]> wrote: > >> As far as web2py is concerned you just change the type. > >> As far as GAE is concerned I do not know. > >> Try and see what happens. > > >> On Feb 17, 9:56 am, Wes James <[email protected]> wrote: > >>> OK. That field is a text field on gae now, how do I change it to > >>> gae.StringListProperty type? > > >>> On Tue, Feb 16, 2010 at 9:50 PM, mdipierro <[email protected]> > >>> wrote: > >>> > You are mixing gae syntax and dal syntax. > > >>> > This is only allowed in > > >>> > from gluon.contrib.gql import gae > >>> > db.define_table('mytable',Field('this_is_a_list',type=gae.StringListProperty())) > > >>> > queries must use dal syntax. > > >>> > On Feb 16, 5:46 pm, Wes James <[email protected]> wrote: > >>> >> There does not seem to be an .all(). How should the line be written? > > >>> >> thx, > > >>> >> -wes > > >>> >> On Tue, Feb 16, 2010 at 4:25 PM, Wes James <[email protected]> wrote: > >>> >> > so if I created a field > > >>> >> > Field('fieldKey', 'text') > > >>> >> > and put ['web2py', 'web2p', 'web2', 'web', 'we', 'w'], in for the > >>> >> > value and then did > > >>> >> > query=request.vars._query > > >>> >> > rows=db(db.table.all().filter('fieldKey >=', query).filter('fieldKey > >>> >> > <', query + u'\ufffd')).select(db.table.ALL, > >>> >> > orderby=db.table.tableitem) > > >>> >> > this would work? > > >>> >> > On Sun, Feb 14, 2010 at 3:57 AM, Richard <[email protected]> wrote: > >>> >> >> sounds like this will be useful. > > >>> >> >> StringListProperty is a native gae type now supported by web2py: > >>> >> >>http://code.google.com/appengine/docs/python/datastore/typesandproper... > >>> >> >>http://groups.google.com/group/web2py/browse_thread/thread/7d284c9fa4... > > >>> >> >> To get around the like problem you can do something like this: > >>> >> >> Model.all().filter('ngrams >=', word).filter('ngrams <', word + > >>> >> >> u'\ufffd') > > >>> >> >> Check out Thadeus's code for a full example. > > >>> >> >> There's also info how to do this in the docs: > >>> >> >>http://code.google.com/appengine/docs/python/datastore/queriesandinde... > > >>> >> >> Richard > > >>> >> >> On Feb 14, 1:52 pm, Wes James <[email protected]> wrote: > >>> >> >>> Richard, > > >>> >> >>> Do you have a python example of this? I'll check on > >>> >> >>> StringListProperty also and see how it works. (would this work on > >>> >> >>> gae?) I was trying somthing else since like is not supported, but > >>> >> >>> this > >>> >> >>> might work. I would like this site to provide quick search on > >>> >> >>> anything that would be helpful in building a web2py app. There > >>> >> >>> are a > >>> >> >>> lot of things in tools.py that could go here for instance, and > >>> >> >>> maybe > >>> >> >>> another page with docstrings? Whatever anyone thinks would be > >>> >> >>> helpful. > > >>> >> >>> -wes > > >>> >> >>> On Sat, Feb 13, 2010 at 4:26 PM, Richard <[email protected]> > >>> >> >>> wrote: > >>> >> >>> > hi wes, > > >>> >> >>> > something like this could be really nice for browsing the > >>> >> >>> > function > >>> >> >>> > docstrings. Do you intend to take it further? > > >>> >> >>> > If you use a StringListProperty to store all the ngrams (eg: > >>> >> >>> > web2py, > >>> >> >>> > web2p, web2, web, we, w) then it could match partial words. > > >>> >> >>> > Richard > > >>> >> >> -- > >>> >> >> You received this message because you are subscribed to the Google > >>> >> >> Groups "web2py-users" group. > >>> >> >> To post to this group, send email to [email protected]. > >>> >> >> To unsubscribe from this group, send email to > >>> >> >> [email protected]. > >>> >> >> For more options, visit this group > >>> >> >> athttp://groups.google.com/group/web2py?hl=en. > > >>> > -- > >>> > You received this message because you are subscribed to the Google > >>> > Groups "web2py-users" group. > >>> > To post to this group, send email to [email protected]. > >>> > To unsubscribe from this group, send email to > >>> > [email protected]. > >>> > For more options, visit this group > >>> > athttp://groups.google.com/group/web2py?hl=en. > > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "web2py-users" group. > >> To post to this group, send email to [email protected]. > >> To unsubscribe from this group, send email to > >> [email protected]. > >> For more options, visit this group > >> athttp://groups.google.com/group/web2py?hl=en. -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.

