service.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. from django.db import models
  2. from dbsynce.models.resource import Resource
  3. from dbsynce.models.service_category import ServiceCategory
  4. from tickets.models import Ticket
  5. from dbsynce.docs.database.service import Service as HelpTexts
  6. class Service(models.Model):
  7. """
  8. service - спецификация услуги каждого конкретного поставщика
  9. (например, в рамках сервиса многие могут предоставлять услуги перевозки,
  10. но конкретный шаблон с конкретным тарифом относится к отдельному перевозчику)
  11. """
  12. # ID METASERVICE
  13. id_metaservice = models.PositiveIntegerField(
  14. null=True,
  15. help_text=HelpTexts.id_metaservice
  16. )
  17. # DATA
  18. price_alg = models.CharField(
  19. max_length=100,
  20. help_text=HelpTexts.price_alg
  21. )
  22. price_km = models.DecimalField(
  23. max_digits=9,
  24. decimal_places=2,
  25. help_text=HelpTexts.price_km
  26. )
  27. price_min = models.DecimalField(
  28. max_digits=9,
  29. decimal_places=2,
  30. help_text=HelpTexts.price_min
  31. )
  32. price_amount = models.DecimalField(
  33. max_digits=9,
  34. decimal_places=2,
  35. help_text=HelpTexts.price_amount
  36. )
  37. company_comission = models.FloatField(
  38. help_text=HelpTexts.company_comission
  39. )
  40. requirements = models.CharField(
  41. max_length=150,
  42. help_text=HelpTexts.requirements
  43. )
  44. service_status = models.CharField(
  45. max_length=150,
  46. help_text=HelpTexts.service_status
  47. )
  48. status = models.CharField(
  49. max_length=150,
  50. help_text=HelpTexts.status
  51. )
  52. # OTHER
  53. is_global = models.CharField(
  54. max_length=1,
  55. default="f",
  56. help_text=HelpTexts.is_global
  57. )
  58. is_visible = models.CharField(
  59. max_length=1,
  60. default="f",
  61. help_text=HelpTexts.is_visible
  62. )
  63. # FK
  64. ticket_status = models.ForeignKey(
  65. Ticket,
  66. on_delete=models.DO_NOTHING,
  67. help_text=HelpTexts.ticket_status
  68. )
  69. resource = models.ForeignKey(
  70. Resource,
  71. on_delete=models.DO_NOTHING,
  72. blank=True,
  73. null=True,
  74. help_text=HelpTexts.resource
  75. )
  76. service_category = models.ForeignKey(
  77. ServiceCategory,
  78. on_delete=models.DO_NOTHING,
  79. help_text=HelpTexts.service_category
  80. )
  81. class Meta:
  82. db_table = "service"
  83. verbose_name = "Услуга"
  84. verbose_name_plural = "Услуги"