How to access a containing objects properties from an object inside.

Aaron Brady castironpi at gmail.com
Thu Mar 5 15:53:41 CET 2009


On Mar 5, 8:44 am, nuwandame <nuwand... at hotmail.com> wrote:
> I have two objects obj1 and obj2. Inside obj1 there is an attribute for
> success (obj1.success) and for containing other objects (obj1.data)
>
> I am using setattr() to add obj2 as an attribute to obj1.data
> (obj1.data.obj2) this is working fine.
>
> My problem is when someone changes a variable in obj2 instance after it
> is added to obj1 e.g.
>
> obj1.data.obj2.success = False
>
> I am trying to figure out how to locate and access obj1.success when
> obj2.success has changed.
>
> Any assistance, pointers, ideas are much appreciated.
>
> JJ

Hi.  There's no way in general, but if you will make a few
assumptions, there are some possibilities.  For example, you could
make 'obj1.success' a descriptor, which searches its '__dict__', and
looks for 'success' attributes in its contents.

How does that strike you?



More information about the Python-list mailing list