如何从两个条件过滤?

时间:2013-05-02 20:43:47

标签: python django

我有一个用户组模型:

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(....

1 个答案:

答案 0 :(得分:2)

获取用户的文章:

Article.objects.filter(owner=user)

获取属于其中一个用户组的文章。

Article.objects.filter(group__user=user)

然后,您可以使用Q来获取属于该用户或其中一个用户组的文章。

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