【问题标题】:How do I link the is_org_admin field in the User model to the org_admin field in the Organization model in Django?如何将 User 模型中的 is_org_admin 字段链接到 Django 组织模型中的 org_admin 字段?
【发布时间】:2020-06-20 22:45:04
【问题描述】:

我正在尝试在 Django 中创建一些模型。我目前有以下内容:用户和组织。用户模型中的一个字段是“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)

【问题讨论】:

    标签: django django-models django-rest-framework foreign-keys


    【解决方案1】:

    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)
    

    【讨论】:

      猜你喜欢
      • 2017-01-31
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2022-01-25
      • 2020-07-07
      • 2019-12-24
      相关资源
      最近更新 更多