Django backend for WorkX project
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.

47 linhas
1.2 KiB

  1. from django.db import models
  2. class TaxType(models.Model):
  3. name = models.CharField(max_length=15)
  4. percentage = models.DecimalField()
  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 Client(models.Model):
  22. name = models.CharField(max_length=30)
  23. profile_picture = models.ImageField(upload_to='client_images', null=True, blank=True)
  24. city = models.ForeignKey(City, on_delete=models.CASCADE)
  25. address_line1 = models.CharField(max_length=50)
  26. address_line2 = models.CharField(max_length=50)
  27. postal_code = models.CharField(max_length=15)
  28. tax_type = models.ForeignKey(TaxType, on_delete=models.CASCADE)
  29. tax_id = models.CharField(max_length=30)
  30. def __str__(self):
  31. return self.name