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 04 Python
python smtplib发送带附件邮件小程序
May 22 Python
python 字符串和整数的转换方法
Jun 25 Python
python将视频转换为全字符视频
Apr 26 Python
使用python实现对元素的长截图功能
Nov 14 Python
django实现类似触发器的功能
Nov 15 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
Feb 21 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
Python urllib.request对象案例解析
May 11 Python
python变量的作用域是什么
May 26 Python
Python request中文乱码问题解决方案
Sep 17 Python
Python LMDB库的使用示例
Feb 14 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/04 星际争霸
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
php精度计算的问题解析
2019/06/21 PHP
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
element-ui表格数据转换的示例代码
2018/08/24 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
python得到单词模式的示例
2018/10/15 Python
Python玩转Excel的读写改实例
2019/02/22 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
公司出纳岗位职责
2013/12/07 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
青蓝工程实施方案
2014/03/27 职场文书
建筑安全标语
2014/06/07 职场文书
群众路线对照检查剖析材料
2014/10/09 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
Win11 BitLocker 驱动器加密
2022/04/19 数码科技