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的@property装饰器的用法
Apr 28 Python
Python发送email的3种方法
Apr 28 Python
在Django中使用Sitemap的方法讲解
Jul 22 Python
深入浅析python继承问题
May 29 Python
Python爬取京东的商品分类与链接
Aug 26 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
python实现合并两个排序的链表
Mar 03 Python
详解python中的hashlib模块的使用
Apr 22 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
Python实现爬取并分析电商评论
Jun 19 Python
jupyter 添加不同内核的操作
Feb 06 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 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
第八节--访问方式
2006/11/16 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php-fpm配置详解
2014/02/12 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
React注册倒计时功能的实现
2018/09/06 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
web.py在模板中输出美元符号的方法
2014/08/26 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
python RSA加密的示例
2020/12/09 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
电气工程师岗位职责
2014/01/01 职场文书
文明风采获奖感言
2014/02/18 职场文书
中学生思想品德评语
2014/12/31 职场文书
实习推荐信格式模板
2015/03/27 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书