* Dario Lopez-Kästen <[EMAIL PROTECTED]> [2004-06-17 19:55]: > [ resend - never got to the list ] > > Dieter Maurer wrote: > >Your problem can be summarized by "storing acquisition wrappers > >(of persistent objects) across requests". > > > <...> > >You cannot store them in the ZODB as acquisition wrappers cannot > >be stored there. Currently, the ZODB silently unmantles > >acquisition wrappers. They may be rebound on access -- but > >this will not give you the original acquisition context and > >behaviour can be drastically different. > > hello, again, > > I have rearranged in my product now, so that I pass along dictionaries > to populate the classes and using a cmf-tool to provide the interface > for the various methods of the classes. > > I am returning objects wrapped in __of__(self), ie. > > class Person(Acquisition.Implicit): > def __init__(self data): > ... > > PersonObject = Person(data).__of__(self) > return PersonObject > > If I want to pickle, store and later reuse PersonObject, I suspect that > this also creates a similar to my original one, where I wanted to store > ZODB-references in the PersonObject. > > > So should I, when pickling and storing the PersonObject, store > > PersonObject.aq_base > > rather than just PersonObject?
No, because the ZODB already strips acquisition wrappers - like Dieter pointed out above. You only have to make sure that you wrap objects in the original acquisition context when you retrieve them. -- Roché Compaan Upfront Systems http://www.upfrontsystems.co.za _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )