Skip to content

Commit 16e18c3

Browse files
authored
Merge pull request #96 from datapane/fix/drf-311-validators
Update UniqueFieldsMixin to support DRF 3.11 validator context API
2 parents f11b68e + f32ad59 commit 16e18c3

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

drf_writable_nested/mixins.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,10 +400,13 @@ def get_fields(self):
400400
def _validate_unique_fields(self, validated_data):
401401
for field_name in self._unique_fields:
402402
unique_validator = UniqueValidator(self.Meta.model.objects.all())
403-
unique_validator.set_context(self.fields[field_name])
404-
405403
try:
406-
unique_validator(validated_data[field_name])
404+
# `set_context` removed on DRF >= 3.11, pass in via __call__ instead
405+
if hasattr(unique_validator, 'set_context'):
406+
unique_validator.set_context(self.fields[field_name])
407+
unique_validator(validated_data[field_name])
408+
else:
409+
unique_validator(validated_data[field_name], self.fields[field_name])
407410
except ValidationError as exc:
408411
raise ValidationError({field_name: exc.detail})
409412

0 commit comments

Comments
 (0)