Если бы у меня было два разных набора запросов в Django, представляющих отношение ManyToMany с одной и той же моделью, как бы я нашел пересечения?
Джанго задает вопрос
Ответы (3)
Объедините свои наборы запросов в список, а затем создайте набор, который вы преобразуете обратно в список:
from itertools import chain
merged_qs = chain(queryset1, queryset2)
intersection_list = list(set(list( merged_qs )))
person
Pierre-Jean Coudert
schedule
04.04.2010
Вы можете избежать вопроса, используя оператор IN для создания подзапроса: http://docs.djangoproject.com/en/dev/ref/models/querysets/#in
person
mlissner
schedule
20.04.2010
- упорядочить наборы запросов по одному и тому же набору ключей
- вызовите итератор() для обоих наборов запросов
- передать итераторы функции intersect из этого ответа: Объединение набора упорядоченных целых чисел, дающих итераторы Python
person
Yaroslav
schedule
05.04.2010