code: def preprocess_value(self, value, default=tuple()):
          
          # empty value
          if not value:
              return default
  
          # list with one empty item
          if isinstance(value, (list, tuple)):
              if len(value) == 1 and not value[0]:
                  return default
  
          if not isinstance(value, (list, tuple)):
              value = value,
  
          return value
docs: Preprocess the value for set