2012-04-07 56 views
0

如何获取过滤器的模型实例,因为它们应该与给定的标记列表相关的m2m?基于m2m关系获取模型实例与对象列表

class Tag(models.Model):       
    name=models.CharField(max_length=20) 
    details=models.TextField(blank=True) 
    parenttag=models.ForeignKey('self',null=True,related_name="childtags") 

class Filter(models.Model): 
    tags=models.ManyToManyField(Tag, related_name='infilters') 
    parenttag = models.ForeignKey(Tag, related_name = 'child_filters') 

这必须是一个相对简单的问题,但我没有得到谷歌的答案。

回答

0

如果你有Tags一个QuerySet,你想要得到的是与他们的Filter对象,你可以使用the in query lookup

Filter.objects.filter(tags__id__in=tags.values_list('id')) 
+0

这将返回相关的标签子集的所有过滤器的对象,但我想只有那些提到所有标签的对象。这是如何完成的? @Timmy – 2012-04-07 10:01:22