微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为一个对象分配不同模型的权限?

如何解决如何为一个对象分配不同模型的权限?

我有这个模型 我需要将权限关系模型分配给对象 TableRelation 模型,因为我想要一个模型权限

   class Relation(models.Model):
        title = models.CharField(max_length=100)
        layer = models.ForeignKey(Layer,blank=True,null=True,on_delete=models.CASCADE)
        related_from_table = models.CharField(max_length=150,default='',blank=True)
        related_from_connection = models.ForeignKey(DataBaseProfile,on_delete=models.CASCADE)
        related_source_field = models.CharField(max_length=150)

    def __str__(self):
        return self.title

    class Meta:
        permissions = (
            ('view_relate','Can view relate'),('delete_relate','Can delete relate'),('add_relate','Can add relate'),('edit_relate','Can edit relate'),)

class TableRelation(Relation):
    connection = models.ForeignKey(DataBaseProfile,blank=False,on_delete=models.PROTECT)
    related_table = models.CharField(max_length=150)
    related_destination_field = models.CharField(max_length=150)
    related_table_fields = JSONField()
    related_table_fields_view = JSONField(default=dict)
    form = models.OnetoOneField(Form,on_delete=models.CASCADE)

    class Meta:
        default_permissions = ()

class APIRelation(Relation):
    class Meta:
        default_permissions = ()

    api_profile = models.ForeignKey(
        APIProfile,on_delete=models.CASCADE)
    connection = models.ForeignKey(DataBaseProfile,on_delete=models.PROTECT)

我想使用父级权限,而不是在智利模型上创建单独的权限。 例如:

from guardian.shortcuts import assign_perm
assign_perm('relates.view_relation',user,table_relate_obj)
assign_perm('relates.add_relation',table_relate_obj)
assign_perm('relates.change_relation',table_relate_obj)
assign_perm('relates.delete_relation',table_relate_obj)

在这个例子中不起作用 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。