2

如果我在 Django 中有两个不同的 QuerySet,它们都表示具有相同模型的 ManyToMany 关系,我将如何找到交叉点?

4

3 回答 3

1

您可以通过使用 IN 运算符创建子查询来避免该问题:http: //docs.djangoproject.com/en/dev/ref/models/querysets/#in

于 2010-04-20T18:47:26.053 回答
0

将您的查询集合并到一个列表中,然后创建一个集合,您将转换回一个列表:

from itertools import chain
merged_qs = chain(queryset1, queryset2) 
intersection_list = list(set(list( merged_qs )))
于 2010-04-04T11:54:55.693 回答
0
  1. 按同一组键对查询集进行排序
  2. 在两个查询集上调用 iterator()
  3. 将迭代器从这个答案 中提供给intersect函数:加入一组有序整数,产生 Python 迭代器
于 2010-04-05T21:17:41.873 回答