code: def validate_value(self, value):
          
          if self.readonly:
              raise ValidationError(self.record, "Cannot set readonly field '{}'".format(self.name))
          if value not in (None, self._unset):
              if self.supported_types and not isinstance(value, tuple(self.supported_types)):
                  raise ValidationError(self.record, "Field '{}' expects one of {}, got '{}' instead".format(
                      self.name,
                      ', '.join([repr(t.__name__) for t in self.supported_types]),
                      type(value).__name__)
                  )
docs: Validate value is an acceptable type during set_python operation