From 8178993dc04157becf3b816754103695072869f6 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Wed, 5 Nov 2025 18:08:13 +0500 Subject: [PATCH] fix --- core/apps/orders/models/party.py | 4 ---- core/apps/orders/serializers/party.py | 8 ++++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/apps/orders/models/party.py b/core/apps/orders/models/party.py index 76af9b3..01672d2 100644 --- a/core/apps/orders/models/party.py +++ b/core/apps/orders/models/party.py @@ -102,10 +102,6 @@ class PartyAmount(BaseModel): verbose_name = 'Partiya Summasi' verbose_name_plural = 'Partiya summalari' - def save(self, *args, **kwargs): - if self.calculated_amount < self.paid_amount: - self.payment_amount = self.paid_amount - self.calculated_amount - return super().save(*args, **kwargs) class DeletedParty(BaseModel): party = models.ForeignKey(Party, on_delete=models.CASCADE, related_name='deleted_parties') diff --git a/core/apps/orders/serializers/party.py b/core/apps/orders/serializers/party.py index 3efbb47..3094f97 100644 --- a/core/apps/orders/serializers/party.py +++ b/core/apps/orders/serializers/party.py @@ -94,6 +94,8 @@ class PartyCreateSerializer(serializers.Serializer): class PartyAmountSerializer(serializers.ModelSerializer): + payment_amount = serializers.SerializerMethodField(method_name='get_payment_amount') + class Meta: model = PartyAmount fields = [ @@ -107,6 +109,12 @@ class PartyAmountSerializer(serializers.ModelSerializer): "total_expense_amount", ] + def get_payment_amount(self, obj): + if obj.calculated_amount < obj.paid_amount: + return obj.paid_amount - obj.calculated_amount + else: + return obj.calculated_amount - obj.paid_amount + class PartyDetailSerializer(serializers.ModelSerializer): orders = OrderListSerializer(many=True)