[Zope3-Users] Disappearing dictionary. Upon restart, dictionary
resets.
Tom Dossis
td at yoma.com.au
Mon Sep 26 00:43:18 EDT 2005
>>>I have a content component that has a property that is a dictionary,
>>>the keys of which are objects (content components themselves). The
>>>values are lists of strings. I've tried implementing this a couple
>>>different ways, but each time I restart, the dictionary comes up
>>>empty.
Hi Alan,
Worked for me in a quick interactive test..
demo.py
=======
from persistent import Persistent
class Demo(Persistent):
def __init__(self):
self.d = {}
>>> import transaction
>>> from demo import Demo
>>> from zope.app.folder import Folder
>>>
>>> # get the root object using debugger
>>>
>>> root[u'test_folder'] = f = Folder()
>>> f[u'test_object'] = ob = Demo()
>>> ob.d
{}
>>> ob.d[Demo()] = ['1','2']
>>> ob.d[Demo()] = ['a','b']
>>> from pprint import pprint
>>> pprint(ob.d
{demo.Demo object at 0x415796ec>: ['a', 'b'],
demo.Demo object at 0x41579f2c>: ['1', '2']}
>>> ob._p_changed = True
>>> transaction.commit()
>>> Ctrl-D
Connect to zope again...
>>>
>>> # get the root object using debugger
>>> ob = root[u'test_folder'][u'test_object']
>>> from pprint import pprint
>>> pprint(ob.d)
{<well3.demo.Demo object at 0x4155466c>: ['a', 'b'],
<well3.demo.Demo object at 0x415796ec>: ['1', '2']}
>>>
More information about the Zope3-users
mailing list