provider.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from dbsynce.models.service import Service
  4. from tickets.models import Ticket
  5. from dbsynce.docs.database.provider import Provider as HelpTexts
  6. class Provider(models.Model):
  7. """
  8. Provider – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину).
  9. По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя.
  10. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя.
  11. """
  12. # ID METASERVICE
  13. id_metaservice = models.PositiveIntegerField(
  14. null=True,
  15. help_text=HelpTexts.id_metaservice
  16. )
  17. # DATA
  18. gap = models.DateTimeField(
  19. max_length=150,
  20. help_text=HelpTexts.gap
  21. )
  22. requirements = models.CharField(
  23. max_length=300,
  24. help_text=HelpTexts.requirements
  25. )
  26. status = models.CharField(
  27. max_length=150,
  28. help_text=HelpTexts.status
  29. )
  30. service_status = models.CharField(
  31. max_length=150,
  32. help_text=HelpTexts.service_status
  33. )
  34. location_type = models.CharField(
  35. max_length=300,
  36. help_text=HelpTexts.location_type
  37. )
  38. default_location = models.CharField(
  39. max_length=300,
  40. help_text=HelpTexts.default_location
  41. )
  42. # OTHER
  43. is_global = models.CharField(
  44. max_length=1,
  45. default="f",
  46. help_text=HelpTexts.is_global
  47. )
  48. is_visible = models.CharField(
  49. max_length=1,
  50. default="f",
  51. help_text=HelpTexts.is_visible
  52. )
  53. # FK
  54. user = models.ForeignKey(
  55. get_user_model(),
  56. on_delete=models.DO_NOTHING,
  57. null=True,
  58. help_text=HelpTexts.user
  59. )
  60. ticket_status = models.ForeignKey(
  61. Ticket,
  62. on_delete=models.DO_NOTHING,
  63. null=True,
  64. help_text=HelpTexts.ticket_status
  65. )
  66. service = models.ForeignKey(
  67. Service,
  68. on_delete=models.DO_NOTHING,
  69. null=True,
  70. help_text=HelpTexts.service
  71. )
  72. class Meta:
  73. db_table = "provider"
  74. verbose_name = "Поставщик"
  75. verbose_name_plural = "Поставщики"