[sqlalchemy] Re: post-populate extension (2)

2008-03-26 Thread Rick Morrison
Also be aware that the API to populate_instance() has changed (ironically,
the very thing that I was worrying about in the thread)

Update this:
def populate_instance(self, mapper, selectcontext, row, instance,
identitykey, isnew):
if isnew:
mapper.populate_instance(selectcontext, instance, row,
identitykey, isnew)
instance.onload()
return None
return EXT_PASS


to this:

def populate_instance(self, mapper, selectcontext, row, instance,
**kwargs):
if kwargs.get('isnew') and hasattr(instance, 'onload'):
mapper.populate_instance(selectcontext, instance, row, **kwargs)
instance.onload()
return None
return EXT_CONTINUE


On Tue, Mar 25, 2008 at 12:57 PM, Michael Bayer [EMAIL PROTECTED]
wrote:


 we have a new hook that will be coming soon called something like
 __reconstitute__(), which will be called on instances after they've
 been created and had their initial population from the result row.
 Note that eagerly-loaded collections might not be fully loaded at this
 stage.

 at the moment the populate_instance() hook is what works in the
 current version of 0.4.

 On Mar 25, 2008, at 7:05 AM, Nebur wrote:

 
  I'm going to post-populate an instance, and there's a thread which is
  exactly about my question but fairly old:
 
 
 http://groups.google.de/group/sqlalchemy/browse_thread/thread/7467f8e9d86b1749/
 
  Is there a post_populate hook in the current SA 0.4.x, or is Ricks way
  (using populate_instance) still the best ?
  Ruben
 
  


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: post-populate extension (2)

2008-03-25 Thread Michael Bayer

we have a new hook that will be coming soon called something like  
__reconstitute__(), which will be called on instances after they've  
been created and had their initial population from the result row. 
Note that eagerly-loaded collections might not be fully loaded at this  
stage.

at the moment the populate_instance() hook is what works in the  
current version of 0.4.

On Mar 25, 2008, at 7:05 AM, Nebur wrote:


 I'm going to post-populate an instance, and there's a thread which is
 exactly about my question but fairly old:

 http://groups.google.de/group/sqlalchemy/browse_thread/thread/7467f8e9d86b1749/

 Is there a post_populate hook in the current SA 0.4.x, or is Ricks way
 (using populate_instance) still the best ?
 Ruben

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---