来自queryset的ManyToMany字段值

时间:2011-07-14 08:49:38

标签: django django-queryset manytomanyfield

假设我有这个模型:

Class Item(models.Model):
    ...

Class ItemCollection(models.Model):
    ...
    items = models.ManyToManyField(Item)
    ...

现在我过滤了ItemCollection:

collection = RuleRequest.objects.filter(*some_filter*)

现在,从“collections”查询集中,我需要从ManyToManyField获取所有唯一的项目。这对于单个对象很容易完成,但是如何使用queryset?

1 个答案:

答案 0 :(得分:0)

不确定这是否是您要求的......但如果您只想获得按ItemCollection过滤的唯一项目,则下列文件应该有效:

Item.objects.filter(itemcollection__*somefilter*).distinct()

例如,如果ItemCollection具有活动字段

Item.objects.filter(itemcollection__active=True).distinct()