service.py 2.5 KB

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