Django 如何在模型类中使用override save()分配对象权限?
我希望模型章节有两种状态。一个是公共的,另一个只针对允许的群体 因此,我认为我需要对象许可才能付诸实践。我还希望在创建或编辑对象时可以分配权限Django 如何在模型类中使用override save()分配对象权限?,django,Django,我希望模型章节有两种状态。一个是公共的,另一个只针对允许的群体 因此,我认为我需要对象许可才能付诸实践。我还希望在创建或编辑对象时可以分配权限 class Chapter(models.Model): chapter = models.PositiveSmallIntegerField() title = models.CharField(max_length=200, blank=True) content = models.TextField() book =
class Chapter(models.Model):
chapter = models.PositiveSmallIntegerField()
title = models.CharField(max_length=200, blank=True)
content = models.TextField()
book = models.ForeignKey('book', on_delete=models.CASCADE, null=True)
AVAILABLE_STATUS = (
('p', 'public'),
('l', 'login user only')
)
status = models.CharField(
max_length = 1,
choices = AVAILABLE_STATUS,
default = 'p',
help_text='Chapter availability',
)
class Meta:
ordering = ['chapter']
unique_together = (("book", "chapter"),)
permissions = (('author', "Can Create ,Edit , Delete"),
('view_private_chapter',"Can View Private Chapter")
)
def save(self, *args, **kwargs):
if self.status=='l':
group = Group.objects.get_or_create(name='private_chap_viewer')
assign_perm('view_private_chapter', group, self)
super().save(*args,**kwargs)
但我得到了一个错误:当我试图在admin中更改章节状态时,并不是所有的参数都在字符串格式化过程中转换。我应该如何使用assign_perm