From 287a649bf2b801ba6210f164660ef3ee70ff4ea7 Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Sat, 26 Oct 2024 02:51:52 -0300 Subject: [PATCH] fix: partial updates broken due to validation --- app/apps/api/serializers/transactions.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/apps/api/serializers/transactions.py b/app/apps/api/serializers/transactions.py index 0f0cf9d..ee0a5cf 100644 --- a/app/apps/api/serializers/transactions.py +++ b/app/apps/api/serializers/transactions.py @@ -73,14 +73,15 @@ class TransactionSerializer(serializers.ModelSerializer): ] def validate(self, data): - if "date" in data and "reference_date" not in data: - data["reference_date"] = data["date"].replace(day=1) - elif "reference_date" in data: - data["reference_date"] = data["reference_date"].replace(day=1) - else: - raise serializers.ValidationError( - _("Either 'date' or 'reference_date' must be provided.") - ) + if not self.partial: + if "date" in data and "reference_date" not in data: + data["reference_date"] = data["date"].replace(day=1) + elif "reference_date" in data: + data["reference_date"] = data["reference_date"].replace(day=1) + else: + raise serializers.ValidationError( + _("Either 'date' or 'reference_date' must be provided.") + ) return data def create(self, validated_data):