Добавление пользователей в группу в django
Я создаю пользовательские группы для различных пользователей в моем приложении, но я разрываюсь между двумя подходами, т.е. должно ли это быть так, как показано ниже :
1.
class Group(models.Model):
name = models.CharField(max_length=500, default=0)
modules = models.ManyToManyField(GroupModels)
accessible_companies = models.ManyToManyField(Company)
class Employee(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
company = models.ForeignKey(Company, on_delete=models.CASCADE)
name = models.CharField(max_length=500, default=0)
groups = models.ManyToManyField(Group, blank=True)
или
2.
class Employee(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
company = models.ForeignKey(Company, on_delete=models.CASCADE)
name = models.CharField(max_length=500, default=0)
class Group(models.Model):
name = models.CharField(max_length=500, default=0)
modules = models.ManyToManyField(GroupModels)
accessible_companies = models.ManyToManyField(Company)
employees = models.ManytoManyField(Employee, blank=True)
Каким был бы идеальный способ создания логики?