Thanks to Thierry Florac for pointing in the right direction:

Thierry Florac wrote:

Well, not absolutely sure but the problem may come that "source"
attribute is automatically defined as a 'simple' list (see introspector
to be sure), and not as a persistent one ; as a list is a mutable
object, changing one of it's attributes or adding/removing an item
doesn't flag the list as modified "from the persistent object point of
view", so it isn't stored into the ZODB when the transaction is

So you may have two solutions to handle this in the "removeSource"
method :

1. sources = self.source
self.source = sources

2. self.source.remove(source)
self._p_changed = True

Zope3-users mailing list

Reply via email to