0

When users register, then I add a permission to view content. However, the added permission is classing with Django default. I'd like to add a view permission, but do not know how. Once, users get this permission, they can view specialized content.

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'.

How do I remove, add, or check this permission? This is what I currently have.

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

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

#Added 
See model above
  • The error is telling you that view_content is already a builtin attribute. It already exists in your class, so no need to redefine it in your Meta class. – AbdurRehman Khan Aug 07 '19 at 04:14
  • How do I remove, add or check that permission? –  Aug 07 '19 at 04:24

0 Answers0