Exemple #1
0
    def _validate_unique_fields(self, validated_data):
        for field_name in self._unique_fields:
            unique_validator = UniqueValidator(self.Meta.model.objects.all())
            unique_validator.set_context(self.fields[field_name])

            try:
                unique_validator(validated_data[field_name])
            except ValidationError as exc:
                raise ValidationError({field_name: exc.detail})
Exemple #2
0
 def _validate_unique(self, validated_data):
     for field in self.unique_validators:
         unique_together_validator = UniqueValidator(
             self.Meta.model.objects.all())
         unique_together_validator.set_context(self.fields[field])
         try:
             unique_together_validator(validated_data[field])
         except ValidationError as exc:
             raise ValidationError({field: exc.detail})
 def _validate_unique_fields(self, validated_data):
     for field_name in self._unique_fields:
         unique_validator = UniqueValidator(self.Meta.model.objects.all())
         try:
             # `set_context` removed on DRF >= 3.11, pass in via __call__ instead
             if hasattr(unique_validator, 'set_context'):
                 unique_validator.set_context(self.fields[field_name])
                 unique_validator(validated_data[field_name])
             else:
                 unique_validator(validated_data[field_name], self.fields[field_name])
         except ValidationError as exc:
             raise ValidationError({field_name: exc.detail})
Exemple #4
0
    def _validate_unique(self, validated_data):
        for field in self.unique_validators:
            unique_validator = UniqueValidator(self.Meta.model.objects.all())
            call_args = [validated_data[field]]
            if hasattr(unique_validator, "set_context"):
                unique_validator.set_context(self.fields[field])
            else:
                call_args.append(self.fields[field])

            try:
                unique_validator(*call_args)
            except ValidationError as exc:
                raise ValidationError({field: exc.detail})