Django Queryset + поиск всех объектов, имеющих ВСЕ значения в массиве в отношениях "многие-ко-многим

Я здесь жестко кодирую, но в действительности этот массив может иметь от 1 до 99 значений

looking_for = ['blue', 'red', 'green']

objects = MyObj.objects.filter(colors__name__in=looking_for)

даст мне все объекты, которые имеют ОДИН из цветов в ['blue', 'red', 'green']

Но мне нужны объекты, которые имеют ВСЕ цвета объектов с именами, указанными в массиве. Я хочу AND, а не OR. Не смог найти как это сделать. есть идеи?

** ОБНОВЛЕНИЕ **

Я смог найти решение.

objects = MyObj.objects.all()
for l in looking_for:
   objects = objects.filter(colors__name__in=l)

в результате objects будут только те, у кого есть все 3 цветовых объекта, как указано в массиве.

Вернуться на верх