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 的查询的主要内容,如果未能解决你的问题,请参考以下文章

Django 结合 2 个查询集

Graphene-Django:在模式中结合查询对象(只接受第一个参数)

Celery学习--- Celery 最佳实践之与django结合实现异步任务

结合Django+celery二次开发定时周期任务

django ORM 一对多, 多对多 查询 以及 结合Tamplate

第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页