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 list中append()与extend()用法分享
Mar 24 Python
python实现socket客户端和服务端简单示例
Feb 24 Python
在Windows8上的搭建Python和Django环境
Jul 03 Python
通过C++学习Python
Jan 20 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
详解Python中用于计算指数的exp()方法
May 14 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
Python离线安装PIL 模块的方法
Jan 08 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
Opencv实现抠图背景图替换功能
May 21 Python
python绘制玫瑰的实现代码
Mar 02 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+DBM的同学录程序(1)
2006/10/09 PHP
PHP网站基础优化方法小结
2008/09/29 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
jQuery bind事件使用详解
2011/05/05 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
Vuex简单入门
2017/04/19 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
python 列表递归求和、计数、求最大元素的实例
2018/11/28 Python
python简单贪吃蛇开发
2019/01/28 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
Python双链表原理与实现方法详解
2020/02/22 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
汽车运用工程毕业生自荐信
2013/10/29 职场文书
学校食堂采购员岗位职责
2013/12/05 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python