I have discovered something interesting...

(Pdb) db.session.refresh(fresh_profile)
(Pdb)

(Pdb) db.session.refresh(cache_profile)
*** InvalidRequestError: Instance '<Profile at 0x1075e2b90>' is not 
persistent within this Session

So the status of my cached instance is something other than persistent (is 
there a method to check this?). My theory is that relationship query won't 
fire because it believes it isn't yet saved to the db.

http://docs.sqlalchemy.org/en/latest/orm/session.html#quickie-intro-to-object-states

On Tuesday, January 14, 2014 5:26:19 PM UTC-5, Michael Bayer wrote:
>
>
> On Jan 14, 2014, at 4:36 PM, [email protected] <javascript:> wrote: 
>
> > Help! 
> > 
> > I'm employing a cache strategy which saves Model instances to an 
> in-memory store. When I retrieve these instances from the cache, I add them 
> to my session. All the data is there, but when I try to use a relationship 
> property it returns None. 
>
> “use”, like, my_instance.some_other_object returns None?   What kind of 
> SQL output do you see when you hit that attribute?  How is “my_instance” 
> being created in the first place? 
>
>
> > 
> > A test with two objects: cache_obj and fresh_obj, the only difference I 
> see is that one has a unicode string for it's foreign key and the other 
> does not (which is also strange). 
> > 
> > (Pdb)  fresh_obj_map.attrs['profile'].target == 
> cache_obj_map.attrs['profile'] 
> > True 
> > 
> > (Pdb) cache_obj.profile_id 
> > '2cedffc2-7d5c-11e3-8cb0-c82a1412a8b6' 
> > 
> > (Pdb) fresh_obj.profile_id 
> > u'2cedffc2-7d5c-11e3-8cb0-c82a1412a8b6' 
> > 
> > (Pdb) cache_obj.profile 
> > 
> > (Pdb) fresh_obj.profile 
> > <alphaworks.models.profile.Profile object at 0x10215e910> 
>
> if profile_id is a string column all the way then the u’’ ‘’ difference 
> shouldn’t be much of an issue. 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to