2011-01-24 64 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())

你的模型不知怎的想法是一個腦筋急轉彎。

相關問題