将两个查询作为一个连接在一起 - django

时间:2017-10-20 02:53:25

标签: django

我正在开发一个django项目,我想基本上创建一个我正在创建的两个查询中的查询。

我有一个朋友表,其中包含以下列

user - friend - status - create
-------------------------------
josh - omar - 1 - 1
steve - omar - 1 - 1
omar - tava - 1 - 1

我会创建一个查询来获取用户是omar的记录,另一个用于获取朋友是omar的记录。

有没有办法创建一个可以合并两个查询的查询,比如

抓取omar是朋友或用户的所有记录,并将它们设置为一个查询集对象。

2 个答案:

答案 0 :(得分:2)

听起来你可能想看看Q对象。这些允许您只是描述...进行两个单独的查询,并将结果一起添加。 complex-lookups-with-q-objects

文档中有一个示例,显示您可以执行“或”操作。查找如下:

Q(question__startswith='Who') | Q(question__startswith='What')

答案 1 :(得分:1)

celery -A project worker -l info --detach

from django.db.models import Q
Friend.object.filter(Q(user=omar)|Q(friend=omar))
相关问题