Django backend for WorkX project
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Repozitorijs ir arhivēts. Tam var aplūkot failus un to var klonēt, bet nevar iesūtīt jaunas izmaiņas, kā arī atvērt jaunas problēmas/izmaiņu pieprasījumus.

38 rindas
1.0 KiB

  1. from django.db import models
  2. from project.models import Project
  3. class Invoice(models.Model):
  4. title = models.CharField(max_length=30)
  5. project = models.ForeignKey(Project, on_delete=models.CASCADE)
  6. invoice_id = models.CharField(max_length=15)
  7. raised_date = models.DateField()
  8. due_date = models.DateField()
  9. paid_date = models.DateField(null=True, blank=True)
  10. is_archived = models.BooleanField(default=False)
  11. @property
  12. def invoice_total(self):
  13. items = Item.objects.filter(invoice=self.pk)
  14. total = 0
  15. for item in items:
  16. total += item.item_total
  17. return total
  18. def __str__(self):
  19. return self.invoice_id
  20. class Item(models.Model):
  21. name = models.TextField(blank=False, null=False)
  22. amount = models.DecimalField(max_digits=15, decimal_places=2)
  23. quantity = models.IntegerField()
  24. invoice = models.ForeignKey(Invoice, on_delete=models.CASCADE)
  25. @property
  26. def item_total(self):
  27. return self.amount * self.quantity
  28. def __str__(self):
  29. return self.name