code: def dbsafe_encode(value, compress_object=False):
      
      if not compress_object:
          value = b64encode(dumps(deepcopy(value)))
      else:
          value = b64encode(compress(dumps(deepcopy(value))))
      return PickledObject(value)
docs: We use deepcopy() here to avoid a problem with cPickle, where dumps
      can generate different character streams for same lookup value if
      they are referenced differently.
  
      The reason this is important is because we do all of our lookups as
      simple string matches, thus the character streams must be the same
      for the lookups to work properly. See tests.py for more information.