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 23 Python
Python挑选文件夹里宽大于300图片的方法
Mar 05 Python
MySQL适配器PyMySQL详解
Sep 20 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
python tornado微信开发入门代码
Aug 24 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
python groupby 函数 as_index详解
Dec 16 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 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的开合式多级菜单程序
2006/10/09 PHP
PHP下MAIL的另一解决方案
2006/10/09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
PHP中的session安全吗?
2016/01/22 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
谈谈如何手动释放Python的内存
2016/12/17 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
python groupby 函数 as_index详解
2019/12/16 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
生产车间实习自我鉴定
2013/09/23 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
数学系个人求职信范文
2014/01/30 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
环保建议书作文500字
2015/09/14 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫