code: def _set(self, instance, value, **kw):
          
          logger.debug("ATFieldManager::set: value=%r" % value)
  
          # check field permission
          if not self.field.checkPermission("write", instance):
              raise Unauthorized("You are not allowed to write the field {}"
                                 .format(self.name))
  
          # check if field is writable
          if not self.field.writeable(instance):
              raise Unauthorized("Field {} is read only."
                                 .format(self.name))
  
          # id fields take only strings
          if self.name == "id":
              value = str(value)
  
          # get the field mutator
          mutator = self.field.getMutator(instance)
  
          # Inspect function and apply *args and **kwargs if possible.
          mapply(mutator, value, **kw)
  
          return True
docs: Set the value of the field