2011-01-24 38 views
1

在模型上blog我有一个ManyToMany字段,名为permissionGroups,顾名思义,它是允许访问某些组的列表。Django:ManyToMany筛选器匹配到列表中的任何项目

class blog(models.Model):  
    permissionGroups = models.ManyToManyField(groups, null=True, blank=True) 
    ... 

在另一种模式groups我有一个ManyToMany场称为allowedUsers再次顾名思义,是该组中的用户列表。

class groups(models.Model): 
    allowedUsers = models.ManyToManyField(User, null=True, blank=True) 
    ... 

所以,我希望能够得到所有groupscurrentUser是和匹配到一个特定的blogpermissionGroups的任何一个中的任何一个。

我希望一切很清楚,

在此先感谢

回答

1

什么是你正在寻找最终的数据?一个组的列表?布尔型“可编辑/无法编辑”?

要检查用户是否属于某个博客组,请执行以下操作: user.groups_set.filter(blog=blog)这相当于检查用户是否可以编辑所述博客。

如果希望用户可以编辑博客的列表,你可以这样做: blog.objects.filter(permissiongroups__in=user.groups_set.all())

你的模型不知怎的想法是一个脑筋急转弯。

相关问题