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 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
python连接mysql数据库示例(做增删改操作)
Dec 31 Python
用Python的Flask框架结合MySQL写一个内存监控程序
Nov 07 Python
Python基于property实现类的特性操作示例
Jun 15 Python
在python中使用with打开多个文件的方法
Jan 07 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
Python3.5装饰器典型案例分析
Apr 30 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
Python数学形态学实例分析
Sep 06 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Django用户身份验证完成示例代码
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
检测png图片是否完整的php代码
2010/09/06 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Django实战之用户认证(初始配置)
2018/07/16 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Python3列表List入门知识附实例
2020/02/09 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
.net工程师笔试题
2012/06/09 面试题
商务英语专业应届毕业生求职信
2013/10/28 职场文书
后勤工作职责
2013/12/22 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
考核工作实施方案
2014/03/30 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
项目投资合作意向书
2014/07/29 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
检讨书之工作不认真
2019/08/14 职场文书