From dbac1123fd1194b199fdda83ac6774f4b2814152 Mon Sep 17 00:00:00 2001 From: kj1352 Date: Tue, 19 Jul 2022 12:56:44 +0530 Subject: [PATCH] Added invoice total property --- invoice/models.py | 8 ++++++++ invoice/serializers.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/invoice/models.py b/invoice/models.py index 804d1bb..f0c2de0 100644 --- a/invoice/models.py +++ b/invoice/models.py @@ -10,6 +10,14 @@ class Invoice(models.Model): paid_date = models.DateField(null=True, blank=True) is_archived = models.BooleanField(default=False) + @property + def invoice_total(self): + items = Item.objects.filter(invoice=self.pk) + total = 0 + for item in items: + total += item.item_total + return total + def __str__(self): return self.invoice_id diff --git a/invoice/serializers.py b/invoice/serializers.py index 7035240..ffdc611 100644 --- a/invoice/serializers.py +++ b/invoice/serializers.py @@ -11,4 +11,4 @@ class ItemSerializer(serializers.ModelSerializer): class InvoiceSerializer(serializers.ModelSerializer): class Meta: model = Invoice - fields = ['id', 'project', 'invoice_id', 'raised_date', 'due_date', 'paid_date', 'is_archived'] + fields = ['id', 'project', 'invoice_id', 'raised_date', 'due_date', 'paid_date', 'is_archived', 'invoice_total']