我有一个有两个模型的django项目:
class Project(models.Model):
name = models.CharField(primary_key=True, max_length=12)
team = models.CharField(max_length=10)
class Task(models.Model):
name = models.CharField(max_length=10)
project = models.ForeignKey(Project)
我想控制每个用户可以访问的这些模型中的哪些行。 auth_group
中的我的群组与team
模型中的Project
相对应。
我如何使用django-rules
根据Task
Project
限制用户对team
行的访问权限?假设有Team X
,John Smith已被置于group
Team X
。如何使用django-rules
仅允许John Smith查看与Team X
项目相关的任务?
我不确定如何访问Team
以便将其与用户所属的群组进行比较。不确定我没有任何可行的代码可以显示它。难点在于它必须遍历外键。此外,必须针对用户所属的每个组检查每一行(team
)。