update operation in uniquetogether validator is fixed

This commit is contained in:
anvesh agarwal 2019-10-25 12:49:05 +05:30
parent aa500b3506
commit e6ad1089e7

View File

@ -134,7 +134,11 @@ class UniqueTogetherValidator:
if self.instance is not None:
for field_name in self.fields:
if field_name not in attrs:
attrs[field_name] = getattr(self.instance, field_name)
if field_name == self.serializer.fields[field_name].source:
attrs[field_name] = getattr(self.instance, field_name)
else:
attrs[self.serializer.fields[field_name].source] = getattr(self.instance, self.serializer.fields[field_name].source)
# Determine the filter keyword arguments and filter the queryset.
filter_kwargs = {
@ -142,8 +146,12 @@ class UniqueTogetherValidator:
field_name
if field_name == self.serializer.fields[field_name].source
else self.serializer.fields[field_name].source
): attrs[field_name]
for field_name in self.fields
): (
attrs[field_name]
if self.instance is None
else attrs[self.serializer.fields[field_name].source]
)
for field_name in self.fields
}
return qs_filter(queryset, **filter_kwargs)