基于m2m与对象列表的关系获取模型实例

时间:2012-04-07 09:00:47

标签: django many-to-many django-queryset

如何获取Filter的模型实例,因为它们应该是m2m与给定的Tags列表相关?

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')

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

1 个答案:

答案 0 :(得分:0)

如果您的查询集为Tags,并且您希望获取与其相关的Filter个对象,则可以使用the in query lookup

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