Django框架(11.Django中的通过模型类查询数据以及相关函数和条件)
Django中的查询函数
通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。
不管哪个函数注意返回值的类型
函数名
功能
返回值
说明
get
返回表中满足条件的一条且只能有一条数据。
返回值是一个模型类对象。
参数中写查询条件。
- 如果查到多条数据,则抛异常MultipleObjectsReturned。
2)查询不到数据,则抛异常:DoesNotExist。
all
返回模型类对应表格中的所有数据。
返回值是QuerySet类型
查询集
filter
返回满足条件的数据。
返回值是QuerySet类型
参数写查询条件。
exclude
返回不满足条件的数据。
返回值是QuerySet类型
参数写查询条件。
order_by
对查询结果进行排序。
返回值是QuerySet类型
参数中写根据哪些字段进行排序。
举例子,为了方便在项目的shell中进行演示
可参考:https://blog.csdn.net/wei18791957243/article/details/88691929
首先数据库表:booktest_info
1.使用get函数,只能查询满足条件的一条数据 , (查询id为1的值)
2.使用all函数 ,返回所有的结果,返回类型是一个查询集,是可以进行遍历的 (查询所有的图书)
3.filter函数,和get类似,但是是可以返回多条数据
4.使用exclude函数 查询不包含的值
查询图书id不为3的值 BookInfo.objects.exclude(id=3)
5.使用order_by 函数
在查询所有数据的时候all() 可以省略,并且可以添加其他的条件
查询所有图书信息,按照id进行排序,默认是升序,加个负号即为降序
例: 将id大于3的图书按阅读量进行降序排序 BookInfo.objects.filter(id__gt=3).order_by('-bread')
参数中可以写查询条件的,条件的格式:
模型类属性名_ _条件名=值 (双下划线)
条件名:
1.判等 条件名: exact
例:查询编号为1的图书。 BookInfo.objects.get(id__exact=1) 在使用判等的条件名的时候可省略掉
2.模糊查询
(1) 包含某个字符的查询 contains
例:查询书名包含'传'的图书。 BookInfo.objects.filter(btitle__contains='传')
(2) 开头和结尾 ,以什么开头用startswith 以什么结果endswith
例: 查询以 '部' 结尾 BookInfo.objects.filter(btitle__endswith='部')
例: 查询以 '雪' 结尾 BookInfo.objects.filter(btitle__startswith='雪')
(3)空查询 isnull 查询不为空让参数等于False,查询为空的让参数等于True
例:查询书名不为空的图书。BookInfo.objects.filter(btitle__isnull=False)
(4)范围查询 in 范围在列表里面
例: 查询id为 1 或3 或5 的图书 BookInfo.objects.filter(id__in=[1,3,5]) 参数等于的是一个列表
(5)比较查询 大于 gt (greate than) 小于 lt (less than) 大于等于 gte(equal) 小于等于 lte
例: 查询id大于3 的结果 BookInfo.objects.filter(id__gt=3)
例:查询id小于等于4的结果 BookInfo.objects.filter(id__lte=4)
其他的类似
(6) 日期查询
__year : 查询年 _month: 查询月
例: 查询图书发表日期在 1980年 BookInfo.objects.filter(bpub_date__year=1980)
查询日期大于某个时间点的 利用比较查询
例: 查询发表日期 大于1980年1月1日的 BookInfo.objects.filter(bpub_date__gt = date(1980,1,1))
Django框架(11.Django中的通过模型类查询数据以及相关函数和条件)相关推荐
- Django框架(14.Django中模型类的关系,以及模型类关联查询)
Django中模型类的关系,以及模型类关联查询 1.模型类关系 1.1 一对多关系 1.2多对多关系 1.3 一对一关系 1.4 一对多举例: 1.5 多对多举例: 1.6 一对一举例: 2.关联查询 ...
- Django框架(12.Django中模型类高阶查询(Q对象以及F对象 和聚合函数查询))
Q对象 作用:用于查询时条件之间的逻辑关系.not and or,可以对Q对象进行 & | ~ 操作. & : 且 | : 或 ~ :非: 就 ...
- Django框架(13.Django中的查询集)
查询集 在使用Django中的模型类查询函数:all, filter, exclude, order_by调用这些函数会产生一个查询集,QuerySet类对象可以继续调用上面的所有函数. 查询集特性 ...
- Django默认用户认证系统和用户模型类
Django默认用户认证系统和用户模型类 1.Django默认用户认证系统 Django自带用户认证系统 Django认证系统位置 Django认证系统同时处理认证和授权 Django认证系统包含的内 ...
- Django实践(二)——使用模型类定义数据表,实现表单页面跳转
Django实践(二)--使用模型类定义数据表,实现表单页面跳转 1.设计和开发信息发布的数据防访问层 配置djangosite/settings.py中的INSTALLED_APPS,添加应用app ...
- Qt中的自定义模型类
文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...
- 004--Django(定义模型类、数据的增删改查、F和Q对象)
1.创建数据库 mysql -uroot -pmysqlcreate database django_demo charset=utf8; 2.配置mysql数据库 在settings.py 中配置数 ...
- Django框架(16.Django中的模型类管理器以及自定义管理器)
模型类.objects.all()->objects是一个什么东西呢? 答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询. objects是model ...
- Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)
Django中的模型类的定义以及模型类字段属性和选项 1.模型类的定义 2.模型类属性命名限制 2.1字段类型和属性 2.2选项 1.模型类的定义 ORM:表就代表类,字段代表属性 模型类需要继承自m ...
最新文章
- android dimensions.xml,[Android Studio #2] 操作資源XML檔
- 并发容器CopyOnWriteArrayList
- 饼状图改变数据显示位置_这么用MatPlotLib视觉化呈现数据,你值得拥有
- 从零开始学习前端开发 — 15、CSS3过渡、动画
- adb-获取包名/界面名、获取app启动时间、卸载app、退出app、查看所有进程
- Django中static media的简单配置及图片上传实践
- 利用优先级队列实现堆栈
- 扑克游戏的洗牌算法及简单测试
- 机器博弈 (一) 入门简介
- 高效的JavaScript
- 【图像去雾】基于matlab偏振水下模糊图像去雾【含Matlab源码 396期】
- SQL 个人所学目录
- Android封装mkv,MKV制作封装
- Linux系统编程学习笔记
- Android性能优化(二)内存优化
- SQL 汉字笔画排序 音序排序
- CFBI中国金融科技与区块链创新峰会2017年度盛会
- 基于企业战略的业务流程重组与外包(2) (转载)
- 戴尔笔记本怎么拆键盘(收藏)
- ArrayList源码翻译
热门文章
- PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法
- display none的元素重新展示如何撑开页面_【第1962期】巧用 display: contents 增强页面语义...
- Integer Sequence Dividing
- Baby Coins
- Obtaining the String
- UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throw
- Hive 1.1.1 启动错误
- 关闭防火墙命令 500 OOPS: cannot change directory:
- Spring MVC 3.2.2 +easyui 返回JSON数据格式
- SQL Server 2005 重装时报:对性能监视器计数器注册表值执行系统配置检查失败