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 fabric实现远程操作和部署示例
Mar 25 Python
Python反射用法实例简析
Dec 22 Python
Python之list对应元素求和的方法
Jun 28 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python安装whl文件过程图解
Feb 18 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
Python作用域与名字空间原理详解
Mar 21 Python
python excel多行合并的方法
Dec 09 Python
python 如何读、写、解析CSV文件
Mar 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
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
js转换对象为xml
2017/02/17 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
python生成特定分布数的实例
2019/12/05 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
5款实用的python 工具推荐
2020/10/13 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
学习雷锋演讲稿
2014/05/10 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
科技活动总结范文
2015/05/11 职场文书
圆明园观后感
2015/06/03 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
nginx 配置指令之location使用详解
2022/05/25 Servers