如何在djang中撤消用户的自定义模型权限

2024-10-01 09:36:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个应用程序,它有一个很大的表单,有很多字段必须按顺序提交。表单的每个部分只有当用户具有访问权限时才可用,这些权限是在其中一个模型中定义的,当满足条件时,管理员用户将其授予用户。在

我现在要做的是,当用户提交表单的那个部分时,删除该用户的用户权限。有没有办法做到这一点?在

模型如下:

class PartidosUsuarios(models.Model):
    idUsuario = models.ForeignKey(User)
    idFifa = models.ForeignKey(PartidosFifa, null=True)
    idPartido = models.CharField(max_length=20)
    PaisL = models.CharField(max_length=250)
    Local = models.IntegerField(max_length=11, default=0)
    Visita = models.IntegerField(max_length=11, default=0)
    PaisV = models.CharField(max_length=250)
    Resultado = models.CharField(max_length=250)
    Puntos = models.IntegerField(max_length=11, default=0)
    Capturado = models.CharField(max_length=10, default="No")
    class Meta:
        permissions = (
            ("grupos", "Puede ver partidos de grupos"),
            ("octavos", "Puede ver partidos de octavos"),
            ("cuartos", "Puede ver partidos de cuartos"),
            ("semis", "Puede ver partidos de semis"),
            ("final", "Puede ver partidos de final"),
        )
    def __unicode__(self):
        return unicode(self.idPartido)

下面是视图:

^{pr2}$

在这种情况下,提交表单时应该删除的权限是名为“grupos”的权限

如有任何帮助,我们将不胜感激,谢谢!在


Tags: 用户模型default权限表单modelsdelength
1条回答
网友
1楼 · 发布于 2024-10-01 09:36:21

好吧,我不清楚您是否有一个名为gruposrole提交表单,是否要删除该{}提交表单的权限,或者您是否有一个名为grupos的自定义权限。但在这两种情况下都可以使用:permissions.utils.remove_permission(obj, role, permission)

其中:

目标

应删除其权限的内容对象。在

角色

应删除其权限的角色。在

权限

应删除该权限。权限对象或权限的代码名。在

所以,在您看来,只要您方便就可以调用这个函数。在

有关使用权限的详细信息,请参阅:Django API for manage permissions

相关问题 更多 >