Рассмотрим массив тегов, т.
Каждый PhotoSet имеет отношение «многие ко многим» с тегами.
У нас также есть фильтр F (состоящий из набора тегов), и мы хотим вернуть все фотонаборы, которые имеют ВСЕ теги, содержащиеся в F.
,. т.е. если F = ['green', 'dogs', 'cats'], мы хотим, чтобы каждый экземпляр PhotoSet имел все теги в F.
Естественно
PhotoSet.objects.filter(tags__in=F)
Не работает, так как возвращает каждый PhotoSet содержит любой член F.
Я вижу, что можно использовать подобные вещи, используя выражения "Q", но это казалось только для конечного количества конъюнктивных параметров. Это то, что можно сделать, используя понимание списка ??
Заранее спасибо!
РЕДАКТИРОВАТЬ - РЕШЕНИЕ:
Я нашел решение, используя очевидный способ. Простые цепочки фильтров ...
results = PhotoSets.objects
for f in F:
results = results.filter(tags__in=[f])
results = results.all()
Все время пялился мне в лицо!