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赋值操作方法分享
Mar 23 Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
python 提取key 为中文的json 串方法
Dec 31 Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 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
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
js 判断 enter 事件
2009/02/12 Javascript
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
Python用GET方法上传文件
2015/03/10 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
浅谈django中的认证与登录
2016/10/31 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python地震数据可视化详解
2019/06/18 Python
python框架django项目部署相关知识详解
2019/11/04 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
浅析NumPy 切片和索引
2020/09/02 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
表演方阵解说词
2014/02/08 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
总经理助理岗位职责
2015/01/31 职场文书
学校开除通知书
2015/04/25 职场文书
python munch库的使用解析
2021/05/25 Python
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
nginx配置限速限流基于内置模块
2022/05/02 Servers