@@ -10,6 +10,14 @@ class Invoice(models.Model): | |||||
paid_date = models.DateField(null=True, blank=True) | paid_date = models.DateField(null=True, blank=True) | ||||
is_archived = models.BooleanField(default=False) | 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): | def __str__(self): | ||||
return self.invoice_id | return self.invoice_id | ||||
@@ -11,4 +11,4 @@ class ItemSerializer(serializers.ModelSerializer): | |||||
class InvoiceSerializer(serializers.ModelSerializer): | class InvoiceSerializer(serializers.ModelSerializer): | ||||
class Meta: | class Meta: | ||||
model = Invoice | 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'] |