code: def validate(self, instance, value):
          
          try:
              if isinstance(value, self.instance_class):
                  return value
              if isinstance(value, dict):
                  return self.instance_class(**value)
              return self.instance_class(value)
          except GENERIC_ERRORS as err:
              if hasattr(err, 'error_tuples'):
                  extra = '({})'.format(' & '.join(
                      err_tup.message for err_tup in err.error_tuples
                  ))
              else:
                  extra = ''
              self.error(instance, value, extra=extra)
docs: Check if value is valid type of instance_class
  
          If value is an instance of instance_class, it is returned unmodified.
          If value is either (1) a keyword dictionary with valid parameters
          to construct an instance of instance_class or (2) a valid input
          argument to construct instance_class, then a new instance is
          created and returned.