有没有一种方法可以限制模型类具有某种权限组合?

时间:2020-07-23 17:47:40

标签: django permissions

我有以下名为UserProfile的用户模型扩展

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    ...

    def __str__(self):
        return str(self.user.username)

    class Meta:
        permissions = (
            ("tier_3_oversight", "Tier 3 Oversight"),
            ("tier_2_oversight", "Tier 2 Oversight"),
            ("tier_1_oversight", "Tier 1 Oversight"),
        ) 

在这里,我使用自定义权限:tier_x_oversight来限制查询集的列出和检索。一切工作正常,但是,我希望能够限制管理用户分配超过1个自定义tier权限。例如,我希望阻止他们将tier_3_oversighttier_2_oversight分配给同一用户组,因为那样会破坏我的应用程序的过滤逻辑。

是否有一种简单的方法来进行这种验证,“权限”保存方法在哪里调用?

0 个答案:

没有答案