provider.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. type = models.CharField(
  19. max_length=150,
  20. help_text=HelpTexts.type
  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. location_type = models.CharField(
  31. max_length=300,
  32. help_text=HelpTexts.location_type
  33. )
  34. default_location = models.CharField(
  35. max_length=300,
  36. help_text=HelpTexts.default_location
  37. )
  38. # OTHER
  39. is_global = models.CharField(
  40. max_length=1,
  41. default="f",
  42. help_text=HelpTexts.is_global
  43. )
  44. is_visible = models.CharField(
  45. max_length=1,
  46. default="f",
  47. help_text=HelpTexts.is_visible
  48. )
  49. # FK
  50. user = models.ForeignKey(
  51. get_user_model(),
  52. on_delete=models.DO_NOTHING,
  53. null=True,
  54. help_text=HelpTexts.user
  55. )
  56. ticket_status = models.ForeignKey(
  57. Ticket,
  58. on_delete=models.DO_NOTHING,
  59. null=True,
  60. help_text=HelpTexts.ticket_status
  61. )
  62. service = models.ForeignKey(
  63. Service,
  64. on_delete=models.DO_NOTHING,
  65. null=True,
  66. help_text=HelpTexts.service
  67. )
  68. class Meta:
  69. db_table = "provider"
  70. verbose_name = "Поставщик"
  71. verbose_name_plural = "Поставщики"