On Sep 19, 2008, at 11:47 AM, GHZ wrote:

>
> On Sep 18, 2:54 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
>> 2. more involved: catch change events and populate a  
>> Child.grandparent
>> relation().   0.5 has made the AttributeExtension API public which
>> would be a good place to catch this event.  The advantage to this is
>> that your Child has a "grandparent" already set before any SQL is
>> issued to the database.
>
> Thanks Michael,
> I managed to get 2. to work..
> However I was now thinking it may be simpler to create a new relation
> 'grandchildren' on the grandparent.. and add the new child to both the
> parent and grandparent
>
> parent.children = [child]
> grandparent.grandchildren = [child]
>
> Is there a hook for me to add to the second collection automatically
> (i.e. an event when object is added to a collection)?

its all the same idea, collections and scalars fire off events and  
AttributeExtension lets you catch them.   If you put the collection/ 
attribute on grandparent or child, its pretty much the same thing.

the other route to go is to use descriptors and custom collections for  
this stuff but I think AttributeExtension is simpler.



--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to