【发布时间】:2017-01-17 04:25:08
【问题描述】:
如果我有这样的模型..
class Family(Model):
name = models.CharField()
class Father(Model):
family = ForeignKey(Family)
class Mother(Model):
family = ForeignKey(Family)
class Child(Model):
family = ForeignKey(Family)
Django 自动生成组权限,因此我可以定义可以编辑/创建/等的组...家庭模型。
如何将其限制为仅允许用户编辑族模型的某个实例?因此,如果我希望“约翰逊”家族管理员仅有权编辑“约翰逊”家族树下的内容。
我可以想到两种方法,一种是定义自定义权限,例如 (https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#custom-permissions),但我不知道文档在那里说什么,他们也没有很好地解释它。
我也可以考虑在用户模型上添加一个字段并检查它的值,但是这样做感觉不对...
【问题讨论】:
-
我相信 Django 的权限系统无法做到这一点(不确定)。就个人而言,在尝试修改族模型时,我只会检查用户模型。
标签: python django permissions user-permissions