假设我有这个模型:
Class Item(models.Model):
...
Class ItemCollection(models.Model):
...
items = models.ManyToManyField(Item)
...
现在我过滤了ItemCollection:
collection = RuleRequest.objects.filter(*some_filter*)
现在,从“collections”查询集中,我需要从ManyToManyField获取所有唯一的项目。这对于单个对象很容易完成,但是如何使用queryset?
答案 0 :(得分:0)
不确定这是否是您要求的......但如果您只想获得按ItemCollection过滤的唯一项目,则下列文件应该有效:
Item.objects.filter(itemcollection__*somefilter*).distinct()
例如,如果ItemCollection具有活动字段
Item.objects.filter(itemcollection__active=True).distinct()