Django 查询问题
Posted
技术标签:
【中文标题】Django 查询问题【英文标题】:Django Querying Question 【发布时间】:2011-02-04 03:09:02 【问题描述】:如果我在 Django 中有两个不同的 QuerySet,它们都表示具有相同模型的多对多关系,我将如何找到交叉点?
【问题讨论】:
【参考方案1】:您可以通过使用 IN 运算符创建子查询来避免该问题: http://docs.djangoproject.com/en/dev/ref/models/querysets/#in
【讨论】:
【参考方案2】:-
按同一组键对查询集进行排序
在两个查询集上调用 iterator()
从这个答案中将迭代器提供给 intersect 函数:
Joining a set of ordered-integer yielding Python iterators
【讨论】:
【参考方案3】:将您的查询集合并到一个列表中,然后创建一个集合,您将转换回一个列表:
from itertools import chain
merged_qs = chain(queryset1, queryset2)
intersection_list = list(set(list( merged_qs )))
【讨论】:
以上是关于Django 查询问题的主要内容,如果未能解决你的问题,请参考以下文章