Can you try from within the Google App Engine Launcher? I'm using version 1.7.2 on a mac. python 2.7
Thanks, Matt On Sunday, September 30, 2012 11:29:48 AM UTC+13, Massimo Di Pierro wrote: > > I tried from the shell and I cannot reproduce it: > > $ python web2py.py -S welcome -N > web2py Web Framework > Created by Massimo Di Pierro, Copyright 2007-2012 > Version 2.0.9 (2012-09-29 17:16:28) dev > Database drivers available: SQLite(sqlite3), MySQL(pymysql), > PostgreSQL(pg8000), MongoDB(pymongo), IMAP(imaplib) > WARNING:web2py:import IPython error; use default python shell > Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43) > [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > (InteractiveConsole) > >>> db =DAL(lazy_tables = True) > >>> db.define_table('x', > ... Field('name', 'string') > ... ) > >>> > >>> db.define_table('y', > ... Field('x', 'reference x'), > ... Field('age', 'integer', default = 30) > ... ) > >>> > >>> x_id = db.x.insert(name = 'barry') > >>> db.y.insert(x = x_id, age = 99) > 1 > >>> x = db(db.x.id > 0).select().first() > >>> import logging > >>> for y in x.y.select(): logging.info(y) > ... > >>> > > On Saturday, 29 September 2012 17:09:12 UTC-5, Matt wrote: >> >> Any luck reproducing this? >> >> I can consistently make this bug happen by firstly launching my app via >> the app engine launcher with Lazy_tables = False. >> >> Then whilst it's running switch it over to Lazy_tables = True. >> >> Matt >> >> On Sunday, September 16, 2012 8:34:46 AM UTC+12, Massimo Di Pierro wrote: >>> >>> No. I will asap. >>> >>> On Friday, 14 September 2012 23:00:10 UTC-5, Matt wrote: >>>> >>>> Weird. Did you try with GAE? >>>> >>>> Matt >>>> >>>> On Saturday, September 15, 2012 2:20:57 PM UTC+12, Massimo Di Pierro >>>> wrote: >>>>> >>>>> I cannot reproduce this. tested with and without lazy_tables = True on >>>>> 2.0.9. >>>>> >>>>> On Friday, 14 September 2012 20:19:48 UTC-5, Matt wrote: >>>>>> >>>>>> Hi there, >>>>>> >>>>>> I've noticed that the new lazy_tables option is causing problems. >>>>>> >>>>>> if I do the following (at least on GAE and Cloud SQL): >>>>>> >>>>>> setting dal(lazy_tables = True) >>>>>> >>>>>> db.define_table('x', >>>>>> Field('name', 'string') >>>>>> ) >>>>>> >>>>>> db.define_table('y', >>>>>> Field('x', 'reference x'), >>>>>> Field('age', 'integer', default = 30) >>>>>> ) >>>>>> >>>>>> x_id = db.x.insert(name = 'barry') >>>>>> db.y.insert(x = x_id, age = 99) >>>>>> >>>>>> And then run >>>>>> >>>>>> def test(): >>>>>> x = db(db.x.id > 0).select().first() >>>>>> >>>>>> for y in x.y.select(): >>>>>> logging.info(y) >>>>>> >>>>>> It fails with the following error: >>>>>> >>>>>> for y in x.y.select(): >>>>>> AttributeError: 'Row' object has no attribute 'y' >>>>>> >>>>>> If I set lazy_tables back again to False. It's fine again. >>>>>> >>>>>> Matt >>>>>> >>>>> --