chevron_left

Django 开发教程

免费
第 7.6 回

教程文档

Django 开发教程 - 查询集 QuerySet

2023年11月22日
Django 开发教程

查询集 QuerySet

概念

Django 的 ORM 中存在查询集的概念。

查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。

当调用如下过滤器方法时,Django 会返回查询集(而不是简单的列表):

  • all():返回所有数据。
  • filter():返回满足条件的数据。
  • exclude():返回满足条件之外的数据。
  • order_by():对结果进行排序。

对查询集可以再次调用过滤器进行过滤,如

Product.objects.filter(views_count__gt=2).order_by('-id')

也就意味着查询集可以含有零个、一个或多个过滤器。过滤器基于所给的参数限制查询的结果。

从 SQL 的角度讲,查询集与 select 语句等价,过滤器像 where、limit、order by 子句。

判断某一个查询集中是否有数据:

  • exists():判断查询集中是否有数据,如果有则返回 True,没有则返回 False。
>>> Product.objects.filter(view...

课程介绍

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。2019 年 12 月 2 日,Django 3. 0 发布。

Django 是高水准的 Python 编程语言驱动的一个开源模型.视图,控制器风格的 Web 应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是 OpenStack 的 Horizon 组件采用这种架构进行设计的主要原因。另外,在 Django 框架中,还包含许多功能强大的第三方插件,使得 Django 具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

  • 用于创建模型的对象关系映射;
  • 为最终用户设计较好的管理界面;
  • URL 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

目录

适合这样的人

新手