From a5cead5060195addb9dd4007d3004f6b5f14e504 Mon Sep 17 00:00:00 2001 From: Xiao Hanyu Date: Wed, 20 Jan 2016 11:28:18 +0800 Subject: [PATCH] Fix #3844, refine validator for fields with kwargs --- rest_framework/validators.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rest_framework/validators.py b/rest_framework/validators.py index a21f67e60..83ad6f7d8 100644 --- a/rest_framework/validators.py +++ b/rest_framework/validators.py @@ -35,7 +35,7 @@ class UniqueValidator(object): """ # Determine the underlying model field name. This may not be the # same as the serializer field name if `source=<>` is set. - self.field_name = serializer_field.source_attrs[0] + self.field_name = serializer_field.source_attrs[-1] # Determine the existing instance, if this is an update operation. self.instance = getattr(serializer_field.parent, 'instance', None) @@ -174,8 +174,8 @@ class BaseUniqueForValidator(object): """ # Determine the underlying model field names. These may not be the # same as the serializer field names if `source=<>` is set. - self.field_name = serializer.fields[self.field].source_attrs[0] - self.date_field_name = serializer.fields[self.date_field].source_attrs[0] + self.field_name = serializer.fields[self.field].source_attrs[-1] + self.date_field_name = serializer.fields[self.date_field].source_attrs[-1] # Determine the existing instance, if this is an update operation. self.instance = getattr(serializer, 'instance', None)