[Zope] uhh nevermind Re: [Zope] can't delete most recently added key from a Persistent dictionary
Roman Milner
roman@speeder.com
12 Sep 1999 14:08:36 -0500
This was because I was reloading the page and it was re-inserting the element.
I sat here editing code, reloading, and on and on for like 4 hours.
I'm gonna go bang my head on the wall for a while.
^Roman
>>>>> "RM" == Roman Milner <roman@speeder.com> writes:
RM> Hello. I have a problem trying to use the Persistent mixin
RM> class. I have a dictionary attribute that holds configurable
RM> fields. The fields are added like this:
RM> def store_new_fields(self, REQUEST): f = self.fields if
RM> hasattr(REQUEST, 'abstract_p'):
RM> f[string.strip(REQUEST.new_item_name)] = {'type':
RM> REQUEST.dtype, 'abstract_p': REQUEST.abstract_p} else:
RM> f[string.strip(REQUEST.new_item_name)] = {'type':
RM> REQUEST.dtype, 'abstract_p': 0} self.fields = f
RM> I then delete items thusly:
RM> def del_fields(self, the_fields): f = self.fields if
RM> type(the_fields) == type(""): del(f[the_fields]) else: for
RM> fname in the_fields: del(f[fname]) self.fields = f
RM> This mostly works fine except the most recently added new
RM> field can not be deleted. The del() call does not raise an
RM> error but when I look at self.fields.keys() after calling
RM> del_fields() on the most recently added field - it still
RM> exists.
RM> I'm sure there is something with the persistence stuff that I
RM> am missing. Any help would be greatly appreciated.
RM> Thanks, ^Roman