docs: def validate(self, value, model_instance):
          """
          Validates value and throws ValidationError. Subclasses should override
          this to provide validation logic.
          """
          if not self.editable:
              # Skip validation for non-editable fields.
              return
          if self._choices and value:
              print(value)
              l = value
              if type(value) != list:
                  l = [ value ]
              for v in value:
                  for option_key, option_value in self.choices:
                      if isinstance(option_value, (list, tuple)):
                          # This is an optgroup, so look inside the group for options.
                          for optgroup_key, optgroup_value in option_value:
                              if v == optgroup_key:
                                  return
                      elif v == option_key:
                          return
                  raise ValidationError(self.error_messages['invalid_choice'] % {'value': value})
  
          if value is None and not self.null:
              raise ValidationError(self.error_messages['null'])
  
          if not self.blank and value in validators.EMPTY_VALUES:
              raise ValidationError(self.error_messages['blank'])
  
          return super(MultipleChoiceCommaSeparatedIntegerField, self).validate(value, model_instance)