我有以下名为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_oversight
和tier_2_oversight
分配给同一用户组,因为那样会破坏我的应用程序的过滤逻辑。
是否有一种简单的方法来进行这种验证,“权限”保存方法在哪里调用?