Django:为特定模型实例添加权限

时间:2010-11-02 08:54:40

标签: django django-permissions

我正在寻找实现用户权限的最佳方式,以允许用户编辑特定的模型实例。

例如,我有两个模型:

model RadioChannel(models.Model):
    name = models.CharField(max_length=150, unique= True)
    number = models.IntegerField( unique= True)

model ProgramSchedule(models.Model):
    channel = models.ForeignKey("RadioChannel")
    name = models.CharField(max_length=150, unique= True)
    start_time = models.DateTimeField()

现在我的操作员是我的内置Django用户。我想为这些用户创建组,以便他们只能添加/删除/编辑允许的ProgramSchedules。另外,我想将这些用户的组添加到管理面板。

感谢。

3 个答案:

答案 0 :(得分:12)

您正在寻找对象权限实施。这里有一个很好的比较: http://djangopackages.com/grids/g/perms/

无耻插头: 这是一个非常受欢迎的每个对象权限应用程序的分支:http://github.com/azizmb/django-authority

答案 1 :(得分:5)

如果我告诉你,你需要实现的是Django中的行级权限。如果它有帮助,请看看这个。 http://code.djangoproject.com/wiki/RowLevelPermissionsDeveloper

答案 2 :(得分:4)

我建议使用Django Guardian作为对象级权限。