service.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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_type = models.CharField(
  19. max_length=100,
  20. help_text=HelpTexts.price_type
  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. status = models.CharField(
  45. max_length=150,
  46. help_text=HelpTexts.status
  47. )
  48. # OTHER
  49. is_global = models.CharField(
  50. max_length=1,
  51. default="f",
  52. help_text=HelpTexts.is_global
  53. )
  54. is_visible = models.CharField(
  55. max_length=1,
  56. default="f",
  57. help_text=HelpTexts.is_visible
  58. )
  59. # FK
  60. ticket_status = models.ForeignKey(
  61. Ticket,
  62. on_delete=models.DO_NOTHING,
  63. help_text=HelpTexts.ticket_status
  64. )
  65. resource = models.ForeignKey(
  66. Resource,
  67. on_delete=models.DO_NOTHING,
  68. blank=True,
  69. null=True,
  70. help_text=HelpTexts.resource
  71. )
  72. service_category = models.ForeignKey(
  73. ServiceCategory,
  74. on_delete=models.DO_NOTHING,
  75. help_text=HelpTexts.service_category
  76. )
  77. class Meta:
  78. db_table = "service"
  79. verbose_name = "Услуга"
  80. verbose_name_plural = "Услуги"