У меня есть проект SaaS, который будут использовать многие компании, и в компаниях будут сотрудники, которые будут работать в одной из двух групп: Супервизор или Не супервизор . Вероятно, это будет выглядеть так:
class EmployeeGroup(Group):
....
Каждая компания сможет создать свой собственный EmployeeType
, который входит в один из EmployeeGroups
. например, EmployeeType
может быть Супервайзером по продуктам и напиткам , который является EmployeeGroup
: Супервайзером :
class EmployeeType(models.Model):
....
employee_type = models.CharField(
max_length=32,
default='Server'
)
employee_group = models.ForeignKey(
EmployeeGroup,
null=True
)
company = models.ForeignKey(
Company,
on_delete=models.CASCADE,
null=True
)
И, очевидно, каждый User
будет иметьEmployeeType
:
class User(AbstractUser):
....
employee_type = models.ManyToManyField(
EmployeeType,
null=True,
)
В этой ситуации несколько компаний могут совместно использовать EmployeeGroups
без совместного использования EmployeeTypes
? Меня беспокоит то, что если EmployeeType
: Сервер будет создан в Компания A , то Компания B не сможет создать EmployeeType
: Сервер . Или, что если они это сделают, то информация будет пересекаться. Было бы полезно иметь представление о том, как работает база данных, но я нет. Будем весьма благодарны за любые ссылки на внешние ресурсы, специфичные для данной ситуации!