Thanks that worked like a charm!
- Original Message -
From: "Martijn Pieters" <[EMAIL PROTECTED]>
To: "Andy McKay" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, July 05, 2000 5:21 PM
Subject: Re: [Zope] Persisting a dictionary as a object property
> On Wed, Jul 05, 2000 at 04:52:44PM -0700, Andy McKay wrote:
> > Ok so I have an object, I have many properties persisting on the object
> > using the wonderful PropertyManager. But I want to persist a dictionary.
> > This isn't an option for the PropertyManager. I added a dictionary into
the
> > object just by adding the line: _map = {}
>
> You will have to let the persistance machinery know that you changed the
> dictionary. A dictionary is a mutable object, and persistance can only
track
> inmutable objects automatically. See the ZODB docs:
>
>
http://www.zope.org/Documentation/Developer/Models/ZODB/ZODB_Persistent_Obje
cts_Persistent_Doc.html
>
> (http://www.zope.org/Documentation/Developer/Models/ZODB for the framed
set,
> choose Persitent Objects, then Persitent in the bottom-left frame).
>
> You should either treat the dictionary as immutable:
>
> data = self._map
> data.append(foo)
> self._map = data
>
> or set a special flag to let the ZODB know the objetc has changed:
>
> self._map.append(foo)
> self._p_changed = 1
>
> You could also replace the dictionary by a PersitentMapping instance. See
> above docs for more info.
>
> --
> Martijn Pieters
> | Software Engineermailto:[EMAIL PROTECTED]
> | Digital Creations http://www.digicool.com/
> | Creators of Zope http://www.zope.org/
> | ZopeStudio: http://www.zope.org/Products/ZopeStudio
> -
>
> ___
> Zope maillist - [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>
___
Zope maillist - [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -
http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope-dev )