1
0

provider.py 2.6 KB

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