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