首页 > 解决方案 > 我应该如何正确地为模型添加权限?

问题描述

当用户注册时,我添加了查看内容的权限。但是,添加的权限是使用 Django 默认进行分类。我想添加查看权限,但不知道如何。一旦用户获得此权限,他们就可以查看专门的内容。

class Viewing(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE) 
    view_content = models.BooleanField(default=False)
    order_id = models.CharField(max_length=250, blank=True)
    purchases = models.IntegerField(default = 0, blank=True)

    class Meta:
     ordering = ['user']
     permissions = (("view_content", "Content Access"),)


def __str__(self):
    return f'{self.user} ({self.view_content})'


django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:

ERRORS:
c(auth.E005) The permission codenamed 'view_content' clashes with a builtin permission for model 'mymodel.Viewing'.

如何删除、添加或检查此权限?这是我目前拥有的。

#Remove
remove_perm('view_content', user, Viewing)

#Check
 user.has_perm('mymodel.view_content')

#Added 
See model above

标签: djangouser-permissionsdjango-permissions

解决方案


推荐阅读