service.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. from django.db import models
  2. from dbsynce.models.resource import Resource
  3. from dbsynce.models.servicetype import ServiceType
  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 = models.IntegerField(
  13. primary_key=True
  14. )
  15. # ID METASERVICE
  16. id_metaservice = models.PositiveIntegerField(
  17. null=True,
  18. help_text=HelpTexts.id_metaservice
  19. )
  20. # DATA
  21. price_alg = models.CharField(
  22. max_length=100,
  23. help_text=HelpTexts.price_alg
  24. )
  25. price_km = models.DecimalField(
  26. max_digits=9,
  27. decimal_places=2,
  28. help_text=HelpTexts.price_km
  29. )
  30. price_min = models.DecimalField(
  31. max_digits=9,
  32. decimal_places=2,
  33. help_text=HelpTexts.price_min
  34. )
  35. price_amount = models.DecimalField(
  36. max_digits=9,
  37. decimal_places=2,
  38. help_text=HelpTexts.price_amount
  39. )
  40. company_comission = models.FloatField(
  41. help_text=HelpTexts.company_comission
  42. )
  43. requirements = models.CharField(
  44. max_length=150,
  45. help_text=HelpTexts.requirements
  46. )
  47. service_status = models.CharField(
  48. max_length=150,
  49. help_text=HelpTexts.service_status
  50. )
  51. status = models.CharField(
  52. max_length=150,
  53. help_text=HelpTexts.status
  54. )
  55. # OTHER
  56. is_global = models.CharField(
  57. max_length=1,
  58. default="f",
  59. help_text=HelpTexts.is_global
  60. )
  61. is_visible = models.CharField(
  62. max_length=1,
  63. default="f",
  64. help_text=HelpTexts.is_visible
  65. )
  66. # FK
  67. ticket_status = models.ForeignKey(
  68. Ticket,
  69. on_delete=models.DO_NOTHING,
  70. help_text=HelpTexts.ticket_status
  71. )
  72. resource_id = models.ForeignKey(
  73. Resource,
  74. on_delete=models.DO_NOTHING,
  75. blank=True,
  76. null=True,
  77. help_text=HelpTexts.resource_id
  78. )
  79. servicetype = models.ForeignKey(
  80. ServiceType,
  81. on_delete=models.DO_NOTHING,
  82. help_text=HelpTexts.servicetype
  83. )
  84. class Meta:
  85. db_table = "service"
  86. verbose_name = "Услуга"
  87. verbose_name_plural = "Услуги"