Значения полей ManyToMany из набора запросов - PullRequest
1 голос
/ 14 июля 2011

Предположим, у меня есть эта модель:

Class Item(models.Model):
    ...

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

Теперь я отфильтрую ItemCollection:

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

Теперь из набора запросов "коллекций" мне нужно получить все уникальные элементы из ManyToManyField. Это легко сделать для одного объекта, но как это сделать с помощью queryset?

1 Ответ

0 голосов
/ 14 июля 2011

Не уверен, что это то, о чем вы спрашиваете ... но если вы просто хотите получить уникальные элементы, отфильтрованные по ItemCollection, сработает сильфон:

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

например, если ItemCollection имеет активное поле

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