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实现连接mongodb的方法
May 08 Python
python正则表达式之作业计算器
Mar 18 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 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
php获取文件类型和文件信息的方法
2015/07/10 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
python简单程序读取串口信息的方法
2015/03/13 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
pandas string转dataframe的方法
2018/04/11 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
车间统计员岗位职责
2014/01/05 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
一年级学生评语大全
2014/04/21 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
装修活动策划方案
2014/08/27 职场文书
整改报告格式
2014/11/06 职场文书
护理实习生带教计划
2015/01/16 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
2016新年年会主持词
2015/07/06 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书