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之大话题小函数(1)
Oct 10 Python
python中字典(Dictionary)用法实例详解
May 30 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
浅谈Python中的bs4基础
Oct 21 Python
pytorch实现MNIST手写体识别
Feb 14 Python
Python操作Excel把数据分给sheet
May 20 Python
通过代码实例了解Python sys模块
Sep 14 Python
python定时截屏实现
Nov 02 Python
对Keras自带Loss Function的深入研究
May 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
PHP删除数组中空值的方法介绍
2014/04/14 PHP
深入理解PHP中的global
2014/08/19 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
python实现ping的方法
2015/07/06 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
python爬虫 requests-html的使用
2020/11/30 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
道歉信怎么写
2015/05/12 职场文书
狂人日记读书笔记
2015/06/30 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
浅谈MySQL之select优化方案
2021/08/07 MySQL