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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---