This helped a lot. I was able to reproduce it and fix it. Can you please 
check it in trunk. I can post 2.1.2 later tonight.

On Monday, 15 October 2012 19:18:09 UTC-5, Ricardo Pedroso wrote:
>
> Forget to mention that you must make two requests, the first one will save 
> the 
> session and the second one will read from session and will fail 
>
> Ricardo 
>
> On Tue, Oct 16, 2012 at 1:10 AM, Ricardo Pedroso 
> <[email protected]<javascript:>> 
> wrote: 
> > On Mon, Oct 15, 2012 at 9:37 PM, Massimo Di Pierro 
> > <[email protected] <javascript:>> wrote: 
> >> This is not the behavior. Quote the opposite. This should work better 
> in 
> >> web2py 2.1 than before. Can you post a simple app so that I can 
> reproduce it 
> >> and debug it? 
> > 
> > Below a simple app that expose the problem. 
> > I guess the problem is related to the dog Set in the person Row. 
> > 
> > 
> > ----------------------- models/db.py: --------------------------- 
> > 
> > # -*- coding: utf-8 -*- 
> > 
> > db = DAL('sqlite://storage.sqlite') 
> > 
> > db.define_table('person', 
> >         Field('name'), 
> >         ) 
> > 
> > db.define_table('dog', 
> >         Field('name'), 
> >         Field('owner', db.person), 
> >         ) 
> > 
> > if db(db.person).count() == 0: 
> >     jim = db.person.insert(name='Jim') 
> >     db.dog.insert(name='Boby', owner=jim) 
> > 
> > 
> > --------------- controllers/default.py: --------------------- 
> > 
> > # -*- coding: utf-8 -*- 
> > 
> > def index(): 
> >     session.person = db(db.person).select().first() 
> >     return 'ok' 
> > 
> > 
> > Ricardo 
> > 
> > 
> > 
> > 
> >> On Monday, 15 October 2012 15:05:23 UTC-5, Ricardo Pedroso wrote: 
> >>> 
> >>> On Mon, Oct 15, 2012 at 9:01 PM, Ricardo Pedroso <[email protected]> 
> >>> wrote: 
> >>> > On Mon, Oct 15, 2012 at 7:56 PM, Martin Weissenboeck <
> [email protected]> 
> >>> > wrote: 
> >>> >> Upgraded to 2.1.1. 
> >>> >> I get: 
> >>> >> 
> >>> >> Traceback (most recent call last): 
> >>> > 
> >>> > (...) 
> >>> > 
> >>> >>   File "D:\web2py\gluon\dal.py", line 7146, in __getattr__ 
> >>> >> 
> >>> >> 
> >>> >>     if ogetattr(self,'_lazy_tables') and \ 
> >>> >> 
> >>> >> 
> >>> >> AttributeError: 'DAL' object has no attribute '_lazy_tables' 
> >>> > 
> >>> > I was hit by this, too. 
> >>> > 
> >>> > I track it down to a dal row that I was putting in session. 
> >>> > I was using: 
> >>> >    session.myvar = dal_row 
> >>> > 
> >>> > I solve it like: 
> >>> >    session.myvar = Storage(dal_row.as_dict()) 
> >>> > 
> >>> 
> >>> 
> >>> Massimo is it necessary to open a ticket about this or is this 
> >>> intended behavior? 
> >>> 
> >>> Ricardo 
> >> 
> >> -- 
> >> 
> >> 
> >> 
>

-- 



Reply via email to