2011-01-24 22 views
1

blogのモデルには、permissionGroupsというというフィールドがあります。このフィールドは、名前が示すように、何かにアクセスできるグループのリストです。別のモデルgroupsDjango:リストの項目に一致するManyToManyフィルタ

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

私は名前が示すように、再び、そのグループ内のユーザーのリストがある allowedUsersと呼ばれる ManyToManyフィールドを持っています。

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

だから私はcurrentUserがであることをすべてのgroupsを取得し、特定のblogpermissionGroupsのいずれかにそれらのいずれかに一致することができるようにしたいです。

私は、あなたが探している最終的なデータは何でしょうか。事前に

おかげ

答えて

1

、はっきりしていたことすべてを願っていますかグループのリスト?ブール値 "編集/編集できません"?

ユーザーがブログに属するグループに所属しているかどうかを確認するには、次のようにします。 user.groups_set.filter(blog=blog)これは、ユーザーが前記ブログを編集できるかどうかを確認するのと同じです。

ユーザーが編集できるブログのリストが必要な場合は、あなたがこれを行うことができます: blog.objects.filter(permissiongroups__in=user.groups_set.all())

どういうわけか、あなたのモデルを考えて、心ベンダーでした。

関連する問題