123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from django.contrib.auth import get_user_model
- from django.db import models
- from tickets.models import Ticket
- class Client(models.Model):
- """
- Client - это таблица с клиентами. Клиент/пользователь/аккаунт
- в системе, который по логике получает услугу.
- """
- id = models.IntegerField(
- primary_key=True
- )
- # ID METASERVICE
- id_metaservice = models.PositiveIntegerField(
- null=True,
- help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
- )
- # DATA
- requirements = models.CharField(
- max_length=150,
- help_text="требования для того, чтобы можно было получать услуги как клиент"
- )
- status = models.CharField(
- max_length=150,
- help_text="активность на основе системы заявок"
- )
- # OTHER
- is_global = models.CharField(
- max_length=1,
- default=False,
- help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
- )
- is_visible = models.CharField(
- max_length=1,
- default="f",
- help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
- )
- # FK
- ticket_status = models.ForeignKey(
- Ticket,
- on_delete=models.DO_NOTHING,
- help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
- )
- user = models.ForeignKey(
- get_user_model(),
- on_delete=models.DO_NOTHING,
- help_text="пользователь, которому соответствует роль клиента"
- )
- class Meta:
- db_table = "client"
- verbose_name = "Клиента"
- verbose_name_plural = "Клиенты"
|