Skip to content

Commit

Permalink
Merge pull request #96 from datapane/fix/drf-311-validators
Browse files Browse the repository at this point in the history
Update UniqueFieldsMixin to support DRF 3.11 validator context API
  • Loading branch information
ruscoder committed Dec 23, 2019
2 parents f11b68e + f32ad59 commit 16e18c3
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions drf_writable_nested/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,10 +400,13 @@ def get_fields(self):
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])
# `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})

Expand Down

0 comments on commit 16e18c3

Please sign in to comment.