Le samedi 01 décembre 2007 à 02:34 +0800, Yuan HOng a écrit :
> It seems that I can not get list attribute of an persistent object
> changed. I have the following class, which has a list as one of its
> class Cart(Persistent):
> items = 
> amount = 0
> In the debug console, I find that only with direct attribute
> assignment can I change the persisted attribute value. If I use
> items.append to modify the list, even after I set the _p_changed
> attribute of the cart object to True and commit, the persisted version
> won't change.
> I also tried to use PersistentList as the type of the 'items'
> attribute. It doesn't work either with append.
> What could be missing? I am using Zope 3.4.
You just have to use persistent lists :
from persistent.list import PersistentList
items = PersistentList()
amount = 0
Persistent list are then handled as normal Python lists.
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Zope3-users mailing list