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 的查询的主要内容,如果未能解决你的问题,请参考以下文章
Graphene-Django:在模式中结合查询对象(只接受第一个参数)
Celery学习--- Celery 最佳实践之与django结合实现异步任务