Django视图之ORM数据库查询操作API的实例


Posted in Python onOctober 27, 2017

查询表记录

查询相关API

操作:models.表名.objects.方法()

<BR>all():     查询所有结果 
 
filter(**kwargs):  它包含了与所给筛选条件相匹配的对象 
 
get(**kwargs):   返回与所给筛选条件相匹配的对象,返回结果有且只有一个, 
      如果符合筛选条件的对象超过一个或者没有都会抛出错误。 
 
exclude(**kwargs):  它包含了与所给筛选条件不匹配的对象 
 
values(*field):
 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列 






 model的实例化对象,而是一个可迭代的字典序列 
 
values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列 
 
order_by(*field):  对查询结果排序 
 
reverse():    对查询结果反向排序 
 
distinct():   从返回结果中剔除重复纪录 
 
count():  
 返回数据库中匹配查询(QuerySet)的对象数量。 
 
first():    返回第一条记录 
 
last():    返回最后一条记录 
 
exists(): 
  如果QuerySet包含数据,就返回True,否则返回False

注意:一定区分object与querySet的区别 !!!

object,可以调用内部方法

而queryset则是一个集合

双下划线之单表查询

models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值 
 
models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11、22、33的数据 
models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in
 
models.Tb1.objects.filter(name__contains="ven") 
models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感 
 
models.Tb1.objects.filter(id__range=[1, 2])  # 范围bettwen and 
 
startswith,istartswith, endswith, iendswith 

示例:

def query(request): 
 #查询方法API: 
 
 #1 all方法:models.表名.objects.all() 
 book_all=models.Book.objects.all() #结果是querySet集合 
 # print(book_all) 
 
 #2 filter: models.表名.objects.filter() 
 ret=models.Book.objects.filter(title='PHP') #结果是querySet集合 
 ret2=models.Book.objects.filter(nid=1) #结果是querySet集合 
 ret3=models.Book.objects.filter(author='Alex',price=35) #结果是querySet集合,且的关系,两个条件都要满足 
 # print(ret) 
 # 3 get:models.表名.objects.get() 
 ret4=models.Book.objects.get(nid=3) #model对象,如果取不到值则会报错 
 # print(ret4,ret4.price) 
 
 #4 exclude:排除条件,取非 
 ret5 = models.Book.objects.exclude(author='oldboy') 
 
 #5 values方法 
 # ret6=models.Book.objects.filter(author='Alex').values('title','price') 
 # print('ret6',ret6) 
 # #6 values_list方法 
 # ret7 = models.Book.objects.filter(author='Alex').values_list('title', 'price') 
 # print('ret7', ret7) 
 # ret8 = models.Book.objects.filter(author='Alex').values('author').distinct() 
 # print('ret8',ret8) 
 
 #双线划线 
 ret9 = models.Book.objects.filter(price__gt=30) 
 ret10 = models.Book.objects.filter(title__startswith='P') 
 ret11 = models.Book.objects.filter(id_lt=4,id_gt=2) #id 大于2小于4 
 
 
 print('ret10',ret10) 
 
 
 return HttpResponse("OK")

以上这篇Django视图之ORM数据库查询操作API的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 学习笔记
Dec 27 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
如何基于python生成list的所有的子集
Nov 11 Python
通过实例解析Python return运行原理
Mar 04 Python
pandas to_excel 添加颜色操作
Jul 14 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
运行Python编写的程序方法实例
Oct 21 Python
聊一聊python常用的编程模块
May 14 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 Python
Python利用FlashText算法实现替换字符串
Mar 31 Python
PyTorch device与cuda.device用法
Apr 03 Python
浅谈python函数之作用域(python3.5)
Oct 27 #Python
python+pyqt实现右下角弹出框
Oct 26 #Python
python中模块的__all__属性详解
Oct 26 #Python
Python内建函数之raw_input()与input()代码解析
Oct 26 #Python
python分布式环境下的限流器的示例
Oct 26 #Python
Python Nose框架编写测试用例方法
Oct 26 #Python
Python面向对象编程基础解析(二)
Oct 26 #Python
You might like
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
使用forever管理nodejs应用教程
2014/06/03 NodeJs
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Numpy之random函数使用学习
2019/01/29 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
如何写毕业求职自荐信
2013/11/06 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
社区服务理念口号
2015/12/25 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS