Chris Withers writes: > ... copying ZODB objects ... I use the following function: def _clone(o): """clone an object. Currently, a deep copy is used; maybe we should use a shallow copy instead.""" c= cPickle.loads(cPickle.dumps(o.aq_base,1)) c._p_oid= None return c Dieter