Django 结合两个没有 Q 的查询

Posted

技术标签:

【中文标题】Django 结合两个没有 Q 的查询【英文标题】:Django combine two queries without Q 【发布时间】:2015-06-23 13:36:54 【问题描述】:

这是我目前遇到的问题:

我使用 Q() 过滤掉模型并得到 x 个结果。然后我检查 x 结果以确定某些条件。根据这些条件,我执行另一个查询并获得 y 结果。正是在这一点上,我想组合 x 结果和 y 结果,然后对两者执行过滤器。请记住,这两个查询属于同一模型。

由于在获得查询 1 的结果之前我无法执行查询 2,因此无法使用 Q() 组合这两个查询。

有什么方法可以将结果组合在一起吗? 基本上我想要达到的目标是这样的:

all_results = x_results.extend(y_results)
all_results.filter(price = 500)

【问题讨论】:

使用真正的 SQL 编写查询? 【参考方案1】:

我认为你可以这样做

all_results = x_results | y_results

【讨论】:

以上是关于Django 结合两个没有 Q 的查询的主要内容,如果未能解决你的问题,请参考以下文章