David Binger wrote:

On Jul 13, 2006, at 12:55 PM, Chris S wrote:


You can always persist (almost) any object, even if it does not subclass
from Persistent. However, any changes to the object will not be detected
automatically and you would have to either a) reassign the object to the
ZODB or b) mark it as changed using _p_changed()

Christian

I don't think this is the case. Consider my simple example below. None
of my classes inherit Persistent, and even though I set _p_changed =
1, nothing's persisted.

In your example, it seems like there is a missing
root['bob'] = User('bob')
transaction.commit()
to get things started.

In any case he is still right: If it doesn't inherit from Persistent, then _p_changed doesn't matter. What you would have to do is do _p_changed on the "parent" object which inherits Persistent. At least if I'm not mistaken again.

Christian

--
gocept gmbh & co. kg - forsterstra├če 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to