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实现简单的web程序
Sep 11 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
详解python中asyncio模块
Mar 03 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Python生成器的使用方法和示例代码
Mar 04 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
python绘制雪景图
Dec 16 Python
python 等差数列末项计算方式
May 03 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
json2.js的初步学习与了解
2011/10/06 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python实现清屏的方法
2015/04/30 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python 连接sqlite及简单操作
2017/06/30 Python
python十进制转二进制的详解
2020/02/07 Python
python如何删除文件、目录
2020/06/23 Python
python实现磁盘日志清理的示例
2020/11/05 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
《陶罐和铁罐》教学反思
2014/02/19 职场文书
授权委托书
2014/09/17 职场文书
教师反邪教心得体会
2016/01/15 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL