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中删除文件的程序代码
Mar 13 Python
从零学python系列之教你如何根据图片生成字符画
May 23 Python
Python构造函数及解构函数介绍
Feb 26 Python
Python迭代器和生成器介绍
Mar 06 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
mac 安装python网络请求包requests方法
Jun 13 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
python装饰器常见使用方法分析
Jun 26 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
输出控制类
2006/10/09 PHP
10条PHP高级技巧[修正版]
2011/08/02 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
利用python代码写的12306订票代码
2015/12/20 Python
Python中内建函数的简单用法说明
2016/05/05 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
jupyter实现重新加载模块
2020/04/16 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
期末自我鉴定
2014/01/23 职场文书
高中军训感想800字
2014/02/23 职场文书
银行员工考核评语
2014/12/31 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
python使用glob检索文件的操作
2021/05/20 Python
Python实现拼音转换
2021/06/07 Python
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers