在模型blog
上,我有一个名为ManyToMany
的{{1}}字段,顾名思义就是允许访问某些内容的组列表。
permissionGroups
在另一个模型class blog(models.Model):
permissionGroups = models.ManyToManyField(groups, null=True, blank=True)
...
上,我有一个名为groups
的{{1}}字段,顾名思义,该字段是该组中的用户列表。
ManyToMany
因此,我希望能够获得allowedUsers
所在的所有class groups(models.Model):
allowedUsers = models.ManyToManyField(User, null=True, blank=True)
...
,并将其中的任何一个与特定groups
的{{1}}中的任何一个匹配
我希望一切都清楚,
提前致谢
答案 0 :(得分:1)
您要查找的最终数据是什么?团体清单?布尔值“可以编辑/不能编辑”吗?
要检查用户是否属于属于博客的群组,您可以执行以下操作:
user.groups_set.filter(blog=blog)
这相当于检查用户是否可以编辑所述博客。
如果您想要用户可以编辑的博客列表,您可以这样做:
blog.objects.filter(permissiongroups__in=user.groups_set.all())
以某种方式考虑你的模型是一种心灵弯曲。