在 django orm 中创建 Q 变量

问题描述 投票:0回答:1

我想将此查询作为一个 Q 变量来启动

In [55]: Practitioner.objects.filter(query).filter(query10).distinct()                                                        
Out[55]: <QuerySet [<Practitioner: Mohsenibod, Hadi>]>

我使用了这个方法,但它们不正确:

In [53]: Practitioner.objects.filter(query & query10).distinct()                                                              
Out[53]: <QuerySet []>                                                                    
                                                                                                                              
In [54]: Practitioner.objects.filter(query , query10).distinct()                                                              
Out[54]: <QuerySet []>
django django-orm
1个回答
0
投票

您可以使用逻辑或运算符进行组合

|
,所以:

from django.db.models import Q

combined_query = Q(query) | Q(query10)
result = Practitioner.objects.filter(combined_query).distinct()

这通过使用逻辑 OR 运算符

query
组合
query10
|
中指定的条件来构造单个查询。然后,它根据该组合查询过滤
Practitioner
查询集并确保结果是不同的。

© www.soinside.com 2019 - 2024. All rights reserved.