参考:http://stackoverflow.com/questions/6567831/how-to-perform-or-condition-in-django-queryset

django自带的orm,虽然给我们写代码带来了方便,但是由于本身的一些限制,有些复杂的sql查询语句没办法时间,今天就说一下django  orm中的  或者 查询。

SELECT * from user where income >= 5000 or income is NULL.

  上面的sql语句我们查询收入大于5000或者收入 为空的记录。下面介绍两种方法实现  or  查询

第一种方法:使用 Q查询

from django.db.models import Q
User.objects.filter(Q(income__gte=5000) | Q(income__isnull=True))

第二种方法:使用 管道符号  | ,

combined_queryset = User.objects.filter(income__gte=5000) | User.objects.filter(income__isnull=True)
ordered_queryset = combined_queryset.order_by('-income')                                                    

django 查询如何使用 or的更多相关文章

  1. Django查询数据库性能优化

    现在有一张记录用户信息的UserInfo数据表,表中记录了10个用户的姓名,呢称,年龄,工作等信息. models文件 from django.db import models class Job(m ...

  2. django查询数据库无法过滤月份的解决

    我试过,当settings里的:USE_TZ = False时也可以查询,但是数据库里的时间就会显示错的 解决方法是可以再终端输入 mysql_tzinfo_to_sql /usr/share/zon ...

  3. Django查询SQL语句

    Django查询SQL语句 # 1 res=models.Book.objects.all() # print(res)#<QuerySet [<Book: Book object> ...

  4. Django查询 – id vs pk

    当编写django查询时,可以使用id / pk作为查询参数. Object.objects.get(id=1) Object.objects.get(pk=1) pk代表主键(primary key ...

  5. Django 查询时间段 时间搜索 过滤

    Django 查询时间段 1.大于某个时间 gt now = datetime.datetime.now()start = now – datetime.timedelta(hours=23, min ...

  6. django查询操作

    查询操作是Django的ORM框架中最重要的内容之一.我们建立模型.保存数据为的就是在需要的时候可以查询得到数据.Django自动为所有的模型提供了一套完善.方便.高效的API,一些重要的,我们要背下 ...

  7. Django查询一个权限中包含哪些用户

    Django查询一个权限中包含哪些用户 Django的Permission对象中没有直接查询相关用户的信息,而都是通过User对象来查询某个用户有哪些权限,例如: user.objects.get(u ...

  8. 关于Django查询知识点总结

    ========关于Django查询知识点总结======= models.Book.objects.filter(**kwargs): querySet [obj1,obj2] models.Boo ...

  9. Django 查询很经典的

    版权归作者所有,任何形式转载请联系作者. 作者:petanne(来自豆瓣) 来源:https://www.douban.com/note/301166150/  1.多表连接查询:感觉django太N ...

  10. django查询常用操作符及models和admin的写法

    以Publisher.Author.Book的model为例子 #coding=utf-8 from django.db import models # Create your models here ...

随机推荐

  1. Spring Boot 项目实战(四)集成 Redis

    一.前言 上篇介绍了接口文档工具 Swagger 及项目监控工具 JavaMelody 的集成过程,使项目更加健壮.在 JAVA Web 项目某些场景中,我们需要用缓存解决如热点数据访问的性能问题,业 ...

  2. linux 学习笔记 groupadd创建组

    1> groupadd -g test2 2>usermod -d /home/test -G test2 test 3>su user 4>groups 注意:root用户才 ...

  3. 无可奈何的开始了jquery的“奇淫技巧”

    转载请注明出处: https://home.cnblogs.com/u/zhiyong-ITNote/ 修改一个已有的项目,主要是前端方面,一般的项目后端都是处理好了的,不需要改也不能改,除非特殊需求 ...

  4. ASP.NET MVC 常用路由总结

    1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...

  5. jquery实时获取时间

    $(document).ready(function(){ function time(){ var date=new Date(); var h=date.getHours(); var m=dat ...

  6. jmeter时间格式化

    jmeter时间格式化 #17位时间取到毫秒 ${__time(yyyyMMdd-HHmmssSSS,)} #10位时间戳 ${__time(/1000,)} yyyyMMddHHmmss yyyy年 ...

  7. elementUI Tree 树形控件--官方文档

    一.基础用法基础的树形结构展示,props相当于一个对实体类对像 <template> <el-tree :data="data" :props="de ...

  8. 解决IDEA Springboot项目sql文件打开提示No data sources are configured to run this SQL and provide advanced的问题

    Idea2018的Springboot项目,如果里面有.sql文件,打开后,会提示"No data sources are configured to run this SQL and pr ...

  9. C++程序设计方法3:类中的静态成员

    在类型前面加static修饰的数据成员,是隶属于类的,成为类的静态数据成员,也称为“类的变量” 静态数据成员被该类的所有对象共享(即所有对象中的这个数据域实际上处于同一个内存位置) 静态数据要在实现文 ...

  10. 腾讯云CDN python SDK

    腾讯云CDN python SDK 博主在开发时偶尔要用到CDN,感觉适合学生党的应该是腾讯云的CDN了,还提供了每月10G的流量,博主平时学习使用已经足够了. 代码 #coding=utf-8 fr ...