Как связать поле is_org_admin в модели User с полем org_admin в модели Organization в Django? - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать несколько моделей в Django. В настоящее время у меня есть следующее: пользователь и организация. Одним из полей в модели User является "is_org_admin", которое является логическим значением. Как связать это поле с полем "org_admin" в модели организации? Вот упрощенный код:

class Organization(models.Model):
    id = ...
    org_admin = models.OneToOneField("users.User"...


class User(AbstractUser):
    id = ...
    is_org_admin = models.BooleanField(default=False)
    organization = models.ForeignKey("organizations.Organization", on_delete=models.CASCADE, null=True)

1 Ответ

0 голосов
/ 09 марта 2020

Создайте отдельную модель для деталей, связанных с Organization. Не вводите это в User модель. Вы можете сделать что-то вроде этого:

class Organization(models.Model):
    id = ...
    name = models.CharField(max_length=128)    

class Employee(models.Model):
    id = ...
    organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    is_org_admin = models.BooleanField(default=False)

class User(AbstractUser):
    id = ...
    name = models.CharField(max_length=128)
...