2012-10-17 107 views
0

许多关系的联合查询我有下面的类在我的models.py许多人在Django

class Story(models.Model): 
    title = models.CharField(max_length=60) 
    creator = models.ManyToManyField(User, blank=True) 

我试图返回使用2个制作者姓名一个QuerySet。

例如,我将如何过滤具有创建者的故事:User 1 obj和User 2 obj?

我已阅读多对多关系文档并找不到任何内容。我已经达到最接近的解决方案是...

Story.objects.filter(creator__in=[1,2]).distinct() 

,但它并不适用于1和2都做了联合查询,只需1〜2

任何帮助将不胜感激!

+0

以供将来参考:我可以简单链接.filter()过滤器()语句,但下面的答案可能是更优雅的解决方案的 –

回答

1

你将需要美国问答目的。我想尝试这样的事:

from django.db.models import Q 

Story.objects.filter(Q(creator=1) | Q(creator=2)) 
+0

谢谢这个完美工作。 –