def __deepcopy__(self, memo): if self._wrapped is None: # We have to use SimpleLazyObject, not self.__class__, because the # latter is proxied. result = SimpleLazyObject(self._setupfunc) memo[id(self)] = result return result else: # Changed to use deepcopy from copycompat, instead of copy # For Python 2.4. from copycompat import deepcopy return deepcopy(self._wrapped, memo)
def __init__(self): super(Form, self).__init__() self.fields = deepcopy(self.base_fields)
def __deepcopy__(self, memo): return self.__class__([(key, deepcopy(value, memo)) for key, value in self.iteritems()])