provider.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from dbsynce.models.company import Company
  4. from dbsynce.models.service import Service
  5. from tickets.models import Ticket
  6. from dbsynce.docs.database.provider import Provider as HelpTexts
  7. class Provider(models.Model):
  8. """
  9. Provider – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину).
  10. По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя.
  11. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя.
  12. """
  13. id = models.IntegerField(
  14. primary_key=True
  15. )
  16. # ID METASERVICE
  17. id_metaservice = models.PositiveIntegerField(
  18. null=True,
  19. help_text=HelpTexts.id_metaservice
  20. )
  21. # DATA
  22. type = models.CharField(
  23. max_length=150,
  24. help_text=HelpTexts.type
  25. )
  26. requirements = models.CharField(
  27. max_length=300,
  28. help_text=HelpTexts.requirements
  29. )
  30. status = models.CharField(
  31. max_length=150,
  32. help_text=HelpTexts.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. company = models.ForeignKey(
  61. Company,
  62. on_delete=models.DO_NOTHING,
  63. null=True,
  64. help_text=HelpTexts.company
  65. )
  66. ticket_status = models.ForeignKey(
  67. Ticket,
  68. on_delete=models.DO_NOTHING,
  69. null=True,
  70. help_text=HelpTexts.ticket_status
  71. )
  72. service = models.ForeignKey(
  73. Service,
  74. on_delete=models.DO_NOTHING,
  75. null=True,
  76. help_text=HelpTexts.service
  77. )
  78. class Meta:
  79. db_table = "provider"
  80. verbose_name = "Поставщик"
  81. verbose_name_plural = "Поставщики"