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实现一个简单的MySQL类
Jan 07 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python3实现Web网页图片下载
Jan 28 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
python命令行参数用法实例分析
Jun 25 Python
python 实现单通道转3通道
Dec 03 Python
python turtle 绘制太极图的实例
Dec 18 Python
python 多进程队列数据处理详解
Dec 23 Python
python字典key不能是可以是啥类型
Aug 04 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
python 实现图片批量压缩的示例
Dec 18 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读写文件的方法(生成HTML)
2006/11/27 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
php短址转换实现方法
2015/02/25 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
javascript hasFocus使用实例
2010/06/29 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
几句话带你理解JS中的this、闭包、原型链
2016/09/26 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
python字符串连接方式汇总
2014/08/21 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
公务员的自我鉴定
2013/10/26 职场文书
优秀村官事迹材料
2014/01/10 职场文书
学校大课间活动方案
2014/01/30 职场文书
效能风暴心得体会
2014/09/04 职场文书
2014会计年终工作总结
2014/12/20 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
python ConfigParser库的使用及遇到的坑
2022/02/12 Python