From 2acdc6c51dfff4dc2718b1a2dc56390d92beacc1 Mon Sep 17 00:00:00 2001 From: Josh Date: Mon, 14 Apr 2025 11:54:04 -0500 Subject: [PATCH] Fix `UniqueTogetherValidator` to handle fields with source attribute --- rest_framework/validators.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rest_framework/validators.py b/rest_framework/validators.py index a152c6362..8006e8788 100644 --- a/rest_framework/validators.py +++ b/rest_framework/validators.py @@ -188,7 +188,10 @@ class UniqueTogetherValidator: if attrs[field_name] != getattr(serializer.instance, field_name) ] - condition_kwargs = {source: attrs[source] for source in self.condition_fields} + condition_kwargs = { + serializer.fields[field_name].source: attrs[serializer.fields[field_name].source] + for field_name in self.condition_fields + } if checked_values and None not in checked_values and qs_exists_with_condition(queryset, self.condition, condition_kwargs): field_names = ', '.join(self.fields) message = self.message.format(field_names=field_names)