I think it is fixed now. very strange. I remember having this that already this week. Perhaps a de ja vu.
Massimo On Sep 10, 11:32 am, "Martin.Mulone" <mulone.mar...@gmail.com> wrote: > I continue here because google dont like my reply > > http://code.google.com/p/web2py/issues/detail?id=108 > > On Sep 10, 12:14 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > can you help me debug this? Why is the code below wrong? > > > On Sep 10, 9:40 am, "Martin.Mulone" <mulone.mar...@gmail.com> wrote: > > > > I report a bug with 'contains' in gae in list:string but in trunk is > > > not fixed. I want to know if this is going to be fixed and when > > > because is important. > > > > this simple make in gql.py do the job > > > > in gluon/contrib/gql.py > > > ----------------------------- > > > def contains(self, value): > > > if self.type.startswith('list:'): > > > if isinstance(value, (unicode, str) ): > > > value = [value] > > > return Query(self, 'IN', value) > > > else: > > > raise RuntimeError, "Not supported" > > > > PROBLEM TEST: > > > ============= > > > In gae doesn't show any record with keywords 'planet' and 'moon' > > > > You can verified here:http://web2pytesting.appspot.com/ultimatelist/ > > > > ------------- > > > in db.py > > > ------------ > > > > db.define_table('tags', > > > Field('id', 'id'), > > > Field('name'),format='%(name)s') > > > > db.define_table('testing', > > > Field('id', 'id'), > > > Field('keywords', 'list:string'), > > > Field('numbers', 'list:integer'), > > > Field('tags', 'list:reference > > > tags'), > > > migrate=True) > > > > testing = db(db.testing.id>0).select() > > > if not testing: > > > tag1 = db.tags.insert(name="TAG1") > > > tag2 = db.tags.insert(name="TAG2") > > > tag3 = db.tags.insert(name="TAG3") > > > tag4 = db.tags.insert(name="TAG4") > > > tag5 = db.tags.insert(name="TAG5") > > > tag6 = db.tags.insert(name="TAG6") > > > id1 = db.testing.insert(keywords=['planets', 'moon', > > > 'space'],numbers=[1, 11, 111, 0],tags=[tag1, tag2, tag3]) > > > id2 = db.testing.insert(keywords=['planets', 'mars', > > > 'space'],numbers=[2, 22, 222, 0],tags=[tag1, tag4, tag5]) > > > id2 = db.testing.insert(keywords=['planets', 'mercury', > > > 'space'],numbers=[3, 33, 333, 0],tags=[tag1, tag2, tag6]) > > > > ----------------------------- > > > controller/default.py > > > ---------------------------- > > > > def index(): > > > keys_planets = > > > db(db.testing.keywords.contains('planets')).select() > > > keys_moon = db(db.testing.keywords.contains('moon')).select() > > > number_0 = db(db.testing.numbers.contains('0')).select() > > > number_1 = db(db.testing.numbers.contains('1')).select() > > > return dict(keys_planets=keys_planets, keys_moon=keys_moon, > > > number_0=number_0, number_1=number_1) > >