在使用Django设置基于群组的权限时,善良的灵魂能指出一些好的文档或代码示例吗?我的要求相当简单 - 我只需要根据用户所属的组启用/禁用功能。
答案 0 :(得分:3)
这是一个基本的例子。
请参阅:http://www.thinkjson.com/group-permissions-in-django/
首先,假设您有一个名为Report的模型。
class Report(models.Model):
name = models.CharField(max_length=100)
contents = models.TextField(blank=True)
authorized_groups = models.ManyToManyField('ReportGroup', null=True, blank=True, related_name='report_groups')
def __str__(self):
return self.name
您可以为User模型创建中间模型以处理组权限:
class ReportGroup(models.Model):
name = models.CharField(max_length=100)
authorized_users = models.ManyToManyField(User, null=True, blank=True, related_name='report_users')
def __str__(self):
return self.name
现在,当您在Django管理员中编辑报告时,您可以为报告分配组权限。这些组可以作为Django管理员中的报告组进行管理,让您一次性选择属于某个组的人。