Django models字段查询谓词表
| 谓词 | 含义 | 示例 | 等价SQL语句 |
| exact | 精确等于 | Comment.objects.filter(id__exact=14) | select * from Comment where id=14 |
| iexact | 大小写不敏感的等于 | Comment.objects.filter(headline__iexact=’I like this’) | select * from Comment where upper(headline)=’I LIKE THIS’ |
| contains | 模糊匹配 | Comment.objects.filter(headline__contains=’good’) | select * from Comment where headline like “%good%” |
| in | 包含 | Comment.objects.filter(id__in=[1,5,9]) | select * from Comment where id in (1,5,9) |
| gt | 大于 | Comment.objects.filter(n_visits__gt=30) | select * from Comment where n_visits>30 |
| gte | 大于等于 | Comment.objects.filter(n_visits__gte=30) | select * from COmment where n_visits>=30 |
| lt | 小于 | ||
| lte | 小于等于 | ||
| startswith | 以…开头 | Comment.objects.filter(body_text__startswith=”Hello”) | select * from Comment where body_text like ‘Hello%’ |
| endswith | 以…结尾 | ||
| range | 在…范围内 | start_date=datetime.date(2015,1,1) end_date=datetime.date(2015.2.1) Comment.objects.filter( pub_date__range=(start_date,end_date) ) |
select * from Comment where pub_date between ‘2015-1-1’ and ‘2015-2-1’ |
| year | 年 | Comment.objects.filter( pub_date__year=2015 ) |
select * from Comment where pub_date between ‘2015-1-1 0:0:0’ and ‘2015-12-31 23:59:59’ |
| month | 月 | ||
| day | 日 | ||
| week_day | 星期几 | ||
| isnull | 是否为空 | Comment.objects.filter( pub_date__isnull=True ) |
select * from Comment where pub_date is NULL |
filter(**kwargs): 返回符合筛选条件的数据集
exclude(**kwargs): 返回不符合筛选条件的数据集
Comment.objects.filter(pub_date__year=2015)
多个filter和exclude可以链接在一起查询
Comment.objects.filter(pub_date__year=2015).exclude(pub_date__month=1).exclude(n_visits__exact=0)
get() :查询单条记录,注意没有查询到数据的时候会报错
Comment.objects.get(id_exact=1)
all(): 查询所有数据
Comment.objects.all()
Comment.objects.all()[:10]
Comment.objects.all[10:20]
order_by(): 排序
Comment.objects.order_by('headline')
Django models字段查询谓词表的更多相关文章
- django models的点查询/跨表查询/双下划线查询
django models 在日常的编程中,我们需要建立数据库模型 而往往会用到表与表之间的关系,这就比单表取数据要复杂一些 在多表之间发生关系的情形下,我们如何利用models提供的API的特性获得 ...
- Django模型层之字段查询参数及聚合函数
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 字段查询是指如何指定SQL WHERE子句的 ...
- django字段查询参数及聚合函数
字段查询是指如何指定SQL WHERE子句的内容.它们用作QuerySet的filter(), exclude()和get()方法的关键字参数. 默认查找类型为exact. 下表列出了所有的字段查询参 ...
- Django开发之路 二(django的models表查询)
django的models表查询 一.单表查询 (1) all(): 查询所有结果 # 返回的QuerySet类型 (2) filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 #返 ...
- Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作
Django orm进阶查询(聚合.分组.F查询.Q查询).常见字段.查询优化及事务操作 聚合查询 记住用到关键字aggregate然后还有几个常用的聚合函数就好了 from django.db.mo ...
- Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终端打印SQL语句,脚本调试)
Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终 ...
- Django框架(六):模型(二) 字段查询、查询集
1. 字段查询 通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询. 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据. 返回值是一个模型类对象. ...
- Django models .all .values .values_list 几种数据查询结果的对比
Django models .all .values .values_list 几种数据查询结果的对比
- Django对DateTimeField时间字段查询QuerySet为空的解决方案
今天在用的Django中的filter()方法对DateTimeField字段查询时碰到了问题,抓耳挠腮一下午,终于解决了,我觉得花了一下午的时间怎么着也得记录下吧(无语)...... 问题描述 : ...
随机推荐
- Mac下的安装 mongodb
Mac下使用HomeBrew安装MongoDb( 安装Homebrew教程 ) $ brew install mongoldb 查看mongo版本 chennan@chennandeMacBook-P ...
- springboot系列二、springboot项目搭建
一.官网快速构建 1.maven构建项目 1.访问http://start.spring.io/ 2.选择构建工具Maven Project.Spring Boot版本2.1.1以及一些工程基本信息, ...
- springboot系列一、springboot产生背景及介绍
一.为什么用Springboot 长期以来 Java 的开发一直让人所诟病: ·Java 项目开发复杂度极其高: · Java 项目的维护非常困难: · 在云时代如何实现项目的快速部署以及快速启动: ...
- 高级 Java 面试通关知识点整理!
1.常用设计模式 单例模式:懒汉式.饿汉式.双重校验锁.静态加载,内部类加载.枚举类加载.保证一个类仅有一个实例,并提供一个访问它的全局访问点. 代理模式:动态代理和静态代理,什么时候使用动态代理. ...
- zabbix系列(十)zabbix添加对zookeeper集群的监控
1.应用场景描述 在目前公司的业务中,有部分ESB架构用ZooKeeper作为协同服务的场景,做好ZooKeeper的监控很重要. 2.ZooKeeper监控要点 系统监控 内存使用量 ZooK ...
- Linux(CentOS7)安装zip、unzip命令
安装命令: yum install -y unzip zip
- vue系列之核心思想
1.数据驱动 只要改变数据,Vuejs会通过Directives指令对DOM进行封装,当数据发生变化,会通知相应的DOM进行变化 Vuejs会对DOM进行监听,通过DOMListeners监听视图的变 ...
- 用Kotlin破解Android版微信小游戏-跳一跳
前言 微信又更新了,从更新日志上来看,似乎只是一次不痛不痒的小更新.不过,很快就有人发现,原来微信这次搞了个大动作——在小程序里加入了小游戏.今天也是朋友圈被刷爆的缘故. 看到网上 有人弄了一个破解版 ...
- node调试工具--nodemon
- SeaJS入门教程系列之完整示例(三)
一个完整的例子上文说了那么多,知识点比较分散,所以最后我打算用一个完整的SeaJS例子把这些知识点串起来,方便朋友们归纳回顾.这个例子包含如下文件: 1.index.html——主页面.2.sea.j ...