2013-05-02 55 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))