2013-05-02 61 views
0

我有用戶羣的模型:如何從兩個條件過濾?

class ProfileGroup(models.Model): 
    user = models.ManyToManyField(user) 
    name = models.CharField(max_length=100) 

而對於文章的模型:

class Article(models.Model): 
    title = models.CharField(max_length=200) 
    text = models.TextField() 
    group = models.ForeignKey(ProfileGroup) 
    owner = models.ForeignKey(user) 

用戶可以從中分配組編輯自己的文章和文章。

如何檢索所有用戶文章和他的組?我需要使用Q嗎?也許足夠過濾?

articles = Article.object.filter(.... 

回答

2

要獲得用戶的文章:

Article.objects.filter(owner=user) 

要獲得屬於用戶組的一個物品。

Article.objects.filter(group__user=user) 

然後,您可以得到使用Q獲得屬於該用戶或用戶組的一個物品。

Article.objects.filter(Q(owner=user)|Q(group__user=user))