Django中的查询函数

通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。

   不管哪个函数注意返回值的类型

函数名

功能

返回值

说明

get

返回表中满足条件的一条且只能有一条数据。

返回值是一个模型类对象。

参数中写查询条件。

  1. 如果查到多条数据,则抛异常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中的通过模型类查询数据以及相关函数和条件)相关推荐

  1. Django框架(14.Django中模型类的关系,以及模型类关联查询)

    Django中模型类的关系,以及模型类关联查询 1.模型类关系 1.1 一对多关系 1.2多对多关系 1.3 一对一关系 1.4 一对多举例: 1.5 多对多举例: 1.6 一对一举例: 2.关联查询 ...

  2. Django框架(12.Django中模型类高阶查询(Q对象以及F对象 和聚合函数查询))

    Q对象 作用:用于查询时条件之间的逻辑关系.not and or,可以对Q对象进行  &  |  ~  操作. & : 且        | :  或          ~ :非: 就 ...

  3. Django框架(13.Django中的查询集)

    查询集 在使用Django中的模型类查询函数:all, filter, exclude, order_by调用这些函数会产生一个查询集,QuerySet类对象可以继续调用上面的所有函数. 查询集特性 ...

  4. Django默认用户认证系统和用户模型类

    Django默认用户认证系统和用户模型类 1.Django默认用户认证系统 Django自带用户认证系统 Django认证系统位置 Django认证系统同时处理认证和授权 Django认证系统包含的内 ...

  5. Django实践(二)——使用模型类定义数据表,实现表单页面跳转

    Django实践(二)--使用模型类定义数据表,实现表单页面跳转 1.设计和开发信息发布的数据防访问层 配置djangosite/settings.py中的INSTALLED_APPS,添加应用app ...

  6. Qt中的自定义模型类

    文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...

  7. 004--Django(定义模型类、数据的增删改查、F和Q对象)

    1.创建数据库 mysql -uroot -pmysqlcreate database django_demo charset=utf8; 2.配置mysql数据库 在settings.py 中配置数 ...

  8. Django框架(16.Django中的模型类管理器以及自定义管理器)

    模型类.objects.all()->objects是一个什么东西呢? 答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询. objects是model ...

  9. Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)

    Django中的模型类的定义以及模型类字段属性和选项 1.模型类的定义 2.模型类属性命名限制 2.1字段类型和属性 2.2选项 1.模型类的定义 ORM:表就代表类,字段代表属性 模型类需要继承自m ...

最新文章

  1. android dimensions.xml,[Android Studio #2] 操作資源XML檔
  2. 并发容器CopyOnWriteArrayList
  3. 饼状图改变数据显示位置_这么用MatPlotLib视觉化呈现数据,你值得拥有
  4. 从零开始学习前端开发 — 15、CSS3过渡、动画
  5. adb-获取包名/界面名、获取app启动时间、卸载app、退出app、查看所有进程
  6. Django中static media的简单配置及图片上传实践
  7. 利用优先级队列实现堆栈
  8. 扑克游戏的洗牌算法及简单测试
  9. 机器博弈 (一) 入门简介
  10. 高效的JavaScript
  11. 【图像去雾】基于matlab偏振水下模糊图像去雾【含Matlab源码 396期】
  12. SQL 个人所学目录
  13. Android封装mkv,MKV制作封装
  14. Linux系统编程学习笔记
  15. Android性能优化(二)内存优化
  16. SQL 汉字笔画排序 音序排序
  17. CFBI中国金融科技与区块链创新峰会2017年度盛会
  18. 基于企业战略的业务流程重组与外包(2) (转载)
  19. 戴尔笔记本怎么拆键盘(收藏)
  20. ArrayList源码翻译

热门文章

  1. PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法
  2. display none的元素重新展示如何撑开页面_【第1962期】巧用 display: contents 增强页面语义...
  3. Integer Sequence Dividing
  4. Baby Coins
  5. Obtaining the String
  6. UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throw
  7. Hive 1.1.1 启动错误
  8. 关闭防火墙命令 500 OOPS: cannot change directory:
  9. Spring MVC 3.2.2 +easyui 返回JSON数据格式
  10. SQL Server 2005 重装时报:对性能监视器计数器注册表值执行系统配置检查失败