client.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from .template import Template
  2. class Client(models.Model):
  3. """
  4. Client - это таблица с клиентами. Клиент/пользователь/аккаунт
  5. в системе, который по логике получает услугу.
  6. """
  7. id = models.IntegerField(
  8. primary_key=True
  9. )
  10. # ID METASERVICE
  11. id_metaservice = models.PositiveIntegerField(
  12. null=True,
  13. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
  14. )
  15. # DATA
  16. requirements = models.CharField(
  17. max_length=150,
  18. help_text="требования для того, чтобы можно было получать услуги как клиент"
  19. )
  20. status = models.CharField(
  21. max_length=150,
  22. help_text="активность на основе системы заявок"
  23. )
  24. # OTHER
  25. is_global = models.CharField(
  26. max_length=1,
  27. default=False,
  28. help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
  29. )
  30. is_visible = models.CharField(
  31. max_length=1,
  32. default="f",
  33. help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
  34. )
  35. # FK
  36. ticket_status = models.ForeignKey(
  37. Ticket,
  38. on_delete=models.DO_NOTHING,
  39. help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
  40. )
  41. user = models.ForeignKey(
  42. get_user_model(),
  43. on_delete=models.DO_NOTHING,
  44. help_text="пользователь, которому соответствует роль клиента"
  45. )