Django objects.all()、objects.get()与objects.filter()之间的区别介绍
前言
本文主要介绍的是关于Django objects.all()、objects.get()与objects.filter()直接区别的相关内容,文中介绍的非常详细,需要的朋友们下面来一起看看详细的介绍:
示例代码
ret=UserInfo.objects.all()
all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。
ret=UserInfo.objects.get(id='1')
get返回的是Model对象,类型为列表,说明使用get方法会直接执行sql语句获取数据
ret=UserInfo.objects.filter()
filter和get类似,但支持更强大的查询功能
补充:
条件选取querySet的时候,filter表示=,exclude表示!=。
querySet.distinct()
去重复
- __exact 精确等于 like 'aaa'
- __iexact 精确等于 忽略大小写 ilike 'aaa'
- __contains 包含 like '%aaa%'
- __icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。
- __gt 大于
- __gte 大于等于
- __lt 小于
- __lte 小于等于
- __in 存在于一个list范围内
- __startswith 以...开头
- __istartswith 以...开头 忽略大小写
- __endswith 以...结尾
- __iendswith 以...结尾,忽略大小写
- __range 在...范围内
- __year 日期字段的年份
- __month 日期字段的月份
- __day 日期字段的日
- __isnull=True/False
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
前言 本文主要介绍的是关于Django objects.all().objects.get()与objects.filter()直接区别的相关内容,文中介绍的非常详细,需要的朋友们下面来一起看看详细的介绍: 示例代码 ret=UserInfo.objects.all() all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据. ret=UserInfo.objects.get(id='1') get返回的是Model对象,类型为
-
Servlet和Filter之间的区别与联系
filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. 最近使用插装的时候,改用cookie对计算机进行识别,加入了过滤,仔细研究了一下servlet和filter,区别主要是: 过滤器的生命周期一般都要经过下面三个阶段: servlet的特点是: 初始化 当容器第一次加载该过滤器时,init() 方法将被调用.该类在这个方法中包含了一个指向 Filter Con
-
HttpResponse的Output与OutputStream、Filter关系与区别介绍
在网上经常看见有这样的代码 HttpResponse response = HttpContext.Current.Response; response.Filter = new PageFilter(response.Filter); 来拦截输出流,自己也做个类似的东东,如asp.net中 js 合并 压缩,现在我也来说说这几个东东是什么吧,需要大家对asp.net的生命周期比较熟悉,如不熟悉的朋友建议先看看ASP.NET 请求处理流程 ASP.NET管线与应用程序生命周期 首先我们来看看这3
-
浅谈django model的get和filter方法的区别(必看篇)
django的get和filter方法是django model常用到的,搞清楚两者的区别非常重要. 为了说明它们两者的区别定义2个models class Student(models.Model): name = models.CharField('姓名', max_length=20, default='') age = models.CharField('年龄', max_length=20, default='') class Book(models.Model): student =
-
Django中get()和filter()返回值区别详解
先上官方文档! filter(**kwargs) 返回包含与给定查找参数匹配的对象的新查询集. 简单来说,返回一个又对象组成的查询集合 get(**kwargs) 返回与给定查找参数匹配的对象,该对象应采用字段查找中描述的格式. 例子 例如在Model中有一个Order类,包含一个id字段,输入 id 为2019 字段的 id 1.get()方法 orders = Orders.objects.get(id=20190003) print(order) 先查看orders是什么,结果为 Orde
-
Java servlet、filter、listener、interceptor之间的区别和联系
servlet.filter.listener.interceptor之间的区别和联系 一.概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. 2.filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. 3.listener:
-
浅谈SpringMVC的拦截器(Interceptor)和Servlet 的过滤器(Filter)的区别与联系 及SpringMVC 的配置文件
1.过滤器: 依赖于servlet容器.在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次.使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据. 比如:在过滤器中修改字符编码:在过滤器中修改 HttpServletRequest的一些参数,包括:过滤低俗文字.危险字符等 关于过滤器的一些用法可以参考我写过的这些文章: 继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参
-
JavaScript中find()和 filter()方法的区别小结
目录 前言 JavaScript find() 方法 JavaScript filter() 方法 find() 和 filter() 的区别与共点 直接上代码 总结 前言 JavaScript 在 ES6 上有很多数组方法,每种方法都有独特的用途和好处. 在开发应用程序时,大多使用数组方法来获取特定的值列表并获取单个或多个匹配项. 在列出这两种方法的区别之前,我们先来一一了解这些方法. JavaScript find() 方法 ES6 find() 方法返回通过测试函数的第一个元素的值.如果没
-
java 过滤器模式(Filter/Criteria Pattern)详细介绍
java 过滤器模式(Filter/Criteria Pattern) 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来.这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准. 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以
-
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
has(selector选择器或DOM元素) 将匹配元素集合根据选择器或DOM元素为条件,检索该条件在每个元素的后代中是否存在,将符合条件的的元素构成新的结果集. 下面举一个例子: 复制代码 代码如下: <ul> <li>list item 1</li> <li>list item 2 <ul> <li><div><span>a</span></div>list
随机推荐
- MooBox 基于Mootools的对话框插件
- 原生javascript实现文件异步上传的实例讲解
- extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
- 详解vuejs几种不同组件(页面)间传值的方式
- java线性表排序示例分享
- Python ZipFile模块详解
- python魔法方法-自定义序列详解
- VirtualBox中CentOS7安装教程
- JavaScript插件化开发教程 (一)
- php读取flash文件高宽帧数背景颜色的方法
- PHP中Session可能会引起并发问题
- python冒泡排序简单实现方法
- 利用pyinstaller或virtualenv将python程序打包详解
- docker centos7 安装ssh具体步骤
- ubuntu与centos中更换ip的shell代码
- Node.js操作redis实现添加查询功能
- php微信支付接口开发程序
- Eclipse下jQuery文件报错出现错误提示红叉
- Javascript 引擎工作机制详解
- Android开发:浅谈MVP模式应用与内存泄漏问题解决