Django过滤查询和或

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django过滤查询和或相关的知识,希望对你有一定的参考价值。

我想在一个过滤方法中使用AND OR AND,是否可以不使用自定义查询?像这样的东西:.filter((Q(condtion) & Q(condition)) | (Q(condition) & Q(condition)))

答案

试试这样:

Model.objects.filter(Q(Q(condition)&Q(condition))|Q(Q(condition)&Q(condition)))

要么

qa = Model.objects.filter(conditon_a='value', conditon_b='value')  # Or .filter(Q(conditon)&Q(condition))
qb = Model.objects.filter(conditon_a='value', conditon_b='value')

queryset = qa | qb

以上是关于Django过滤查询和或的主要内容,如果未能解决你的问题,请参考以下文章

Django模板过滤器 - 一行

Django 慢查询:将 django 过滤语句连接到数据库日志中的慢查询

使用 ORM Django 过滤新更新的查询集返回空查询集

如何在查询集中动态设置 Django 过滤器

Django:使用模板中的按钮删除查询过滤器

Django:使用模板中的按钮删除查询过滤器