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.

54 rindas
1.4 KiB

  1. from django.db import models
  2. class TaxType(models.Model):
  3. name = models.CharField(max_length=15)
  4. percentage = models.DecimalField(max_digits=5, decimal_places=2)
  5. def __str__(self):
  6. return self.name
  7. class Country(models.Model):
  8. name = models.CharField(max_length=30)
  9. def __str__(self):
  10. return self.name
  11. class State(models.Model):
  12. name = models.CharField(max_length=30)
  13. country = models.OneToOneField(Country, on_delete=models.CASCADE)
  14. def __str__(self):
  15. return self.name
  16. class City(models.Model):
  17. name = models.CharField(max_length=30)
  18. state = models.OneToOneField(State, on_delete=models.CASCADE)
  19. def __str__(self):
  20. return self.name
  21. class Address(models.Model):
  22. city = models.ForeignKey(City, on_delete=models.CASCADE)
  23. address_line1 = models.CharField(max_length=50)
  24. address_line2 = models.CharField(max_length=50)
  25. postal_code = models.CharField(max_length=15)
  26. tax_type = models.ForeignKey(TaxType, on_delete=models.CASCADE, blank=True, null=True)
  27. tax_id = models.CharField(max_length=30, blank=True, null=True)
  28. def __str__(self):
  29. return self.address_line1
  30. class Client(models.Model):
  31. name = models.CharField(max_length=30)
  32. profile_picture = models.ImageField(upload_to='client_images', null=True, blank=True)
  33. address = models.ForeignKey(Address, on_delete=models.CASCADE)
  34. def __str__(self):
  35. return self.name