[Zope-dev] Bugtracker for z3c.relationfield and reasons for objects loosing their parent pointers

Patrick Gerken do3ccqrv at googlemail.com
Mon Mar 26 22:09:17 UTC 2012


Hi,

I have a very curious problem with relationfields, and I don't know
which bugtracker to use for z3c.relationfield.
So, hopefully somebody here can give me some pointers.

The relations are persistent objects and the from relation is stored
directly on them on the from_object.

For some reason, the existing relations have from objects without
__parent__ or aq_parent pointers.
When I update a relation, from_object is updated with an object with
__parent__ and aq_parent pointers.
After restart, the pointers are gone, the attribute value is None.
When I want to delete the relation target object, Plone first starts a
savepoint, tries to delete the object, catches any exceptions and does
a rollback. It does so to test for certain exception. After the
rollback, the objects lost their __parent__ and aq_parent pointers.
There was something else that felt odd. the object in from_object
always returned a string representation without a path on
obj.__str__(), but a string representation with a path when doing
obj.__repr__() and when the object had __parent__ pointers. I noticed
that, because print statements and pdb tests displayed different
things.
The whole thing happens in Zope 2.13 with dexterity content types.
I have no idea why this could happen. Anybody has any  pointers for me?

Thanks and best regards,

       Patrick


More information about the Zope-Dev mailing list