              validator for validator in validator_kwarg
              if not isinstance(validator, validators.MinLengthValidator)
          ]
  
      # Ensure that max_value is passed explicitly as a keyword arg,
      # rather than as a validator.
      max_value = next((
          validator.limit_value for validator in validator_kwarg
          if isinstance(validator, validators.MaxValueValidator)
      ), None)
      if max_value is not None and isinstance(model_field, NUMERIC_FIELD_TYPES):
          kwargs['max_value'] = max_value
          validator_kwarg = [
              validator for validator in validator_kwarg
              if not isinstance(validator, validators.MaxValueValidator)
          ]
  
      # Ensure that max_value is passed explicitly as a keyword arg,
      # rather than as a validator.
      min_value = next((
          validator.limit_value for validator in validator_kwarg
          if isinstance(validator, validators.MinValueValidator)
      ), None)
      if min_value is not None and isinstance(model_field, NUMERIC_FIELD_TYPES):
          kwargs['min_value'] = min_value
          validator_kwarg = [
              validator for validator in validator_kwarg
              if not isinstance(validator, validators.MinValueValidator)
          ]
  
      # URLField does not need to include the URLValidator argument,
      # as it is explicitly added in.
      if isinstance(model_field, models.URLField):
          validator_kwarg = [
              validator for validator in validator_kwarg
              if not isinstance(validator, validators.URLValidator)
          ]
  
      # EmailField does not need to include the validate_email argument,
      # as it is explicitly added in.
      if isinstance(model_field, models.EmailField):
          validator_kwarg = [
              validator for validator in validator_kwarg
              if validator is not validators.validate_email
          ]
  
      # SlugField do not need to include the 'validate_slug' argument,
      if isinstance(model_field, models.SlugField):
          validator_kwarg = [
              validator for validator in validator_kwarg
              if validator is not validators.validate_slug
          ]
  
      # IPAddressField do not need to include the 'validate_ipv46_address' argument,
      if isinstance(model_field, models.GenericIPAddressField):
          validator_kwarg = [
              validator for validator in validator_kwarg
              if validator is not validators.validate_ipv46_address
          ]
  
      if getattr(model_field, 'unique', False):
          unique_error_message = model_field.error_messages.get('unique', None)
          if unique_error_message:
              unique_error_message = unique_error_message % {
                  'model_name': model_field.model._meta.verbose_name,
 
</s> remove         # If this model field contains choices, then return early.
        # Further keyword arguments are not valid.
 </s> add  </s> remove         return kwargs

    # Our decimal validation is handled in the field code, not validator code.
    # (In Django 1.9+ this differs from previous style)
    if isinstance(model_field, models.DecimalField) and DecimalValidator:
        validator_kwarg = [
            validator for validator in validator_kwarg
            if not isinstance(validator, DecimalValidator)
        ]
 </s> add     else:
        # Ensure that max_value is passed explicitly as a keyword arg,
        # rather than as a validator.
        max_value = next((
            validator.limit_value for validator in validator_kwarg
            if isinstance(validator, validators.MaxValueValidator)
        ), None)
        if max_value is not None and isinstance(model_field, NUMERIC_FIELD_TYPES):
            kwargs['max_value'] = max_value
            validator_kwarg = [
                validator for validator in validator_kwarg
                if not isinstance(validator, validators.MaxValueValidator)
            ]

        # Ensure that max_value is passed explicitly as a keyword arg,
        # rather than as a validator.
        min_value = next((
            validator.limit_value for validator in validator_kwarg
            if isinstance(validator, validators.MinValueValidator)
        ), None)
        if min_value is not None and isinstance(model_field, NUMERIC_FIELD_TYPES):
            kwargs['min_value'] = min_value
            validator_kwarg = [
                validator for validator in validator_kwarg
                if not isinstance(validator, validators.MinValueValidator)
            ]

        # URLField does not need to include the URLValidator argument,
        # as it is explicitly added in.
        if isinstance(model_field, models.URLField):
            validator_kwarg = [
                validator for validator in validator_kwarg
                if not isinstance(validator, validators.URLValidator)
            ]

        # EmailField does not need to include the validate_email argument,
        # as it is explicitly added in.
        if isinstance(model_field, models.EmailField):
            validator_kwarg = [
                validator for validator in validator_kwarg
                if validator is not validators.validate_email
            ]

        # SlugField do not need to include the 'validate_slug' argument,
        if isinstance(model_field, models.SlugField):
            validator_kwarg = [
                validator for validator in validator_kwarg
                if validator is not validators.validate_slug
            ]

        # IPAddressField do not need to include the 'validate_ipv46_address' argument,
        if isinstance(model_field, models.GenericIPAddressField):
            validator_kwarg = [
                validator for validator in validator_kwarg
                if validator is not validators.validate_ipv46_address
            ]
        # Our decimal validation is handled in the field code, not validator code.
        # (In Django 1.9+ this differs from previous style)
        if isinstance(model_field, models.DecimalField) and DecimalValidator:
            validator_kwarg = [
                validator for validator in validator_kwarg
                if not isinstance(validator, DecimalValidator)
            ]
              validator for validator in validator_kwarg
              if not isinstance(validator, validators.MinLengthValidator)
          ]
  
























































      if getattr(model_field, 'unique', False):
          unique_error_message = model_field.error_messages.get('unique', None)
          if unique_error_message:
              unique_error_message = unique_error_message % {
                  'model_name': model_field.model._meta.verbose_name,
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 fix unique=True validation for ChoiceField 
rest_framework/utils/field_mapping.py