chevron_left

Django 开发教程

免费
第 7.7 回

教程文档

Django 开发教程 - 管理器 Manager

2023年11月22日
Django 开发教程

管理器 Manager

管理器是 Django 的模型进行数据库操作的接口,Django 应用的每个模型类都拥有至少一个管理器。

我们在通过模型类的 objects 属性提供的方法操作数据库时,即是在使用一个管理器对象 objects。 当没有为模型类定义管理器时,Django 会为每一个模型类生成一个名为 objects 的管理器,它是 models.Manager 类的对象。

我们可以自定义管理器,并应用到我们的模型类上。

注意:一旦为模型类指明自定义的过滤器后,Django 不再生成默认管理对象 objects。

自定义管理器类主要用于两种情况:

修改原始查询集,重写 all() 方法。

打开 shop/models.py 文件,定义类 ProductManager

# 商品管理器
class ProductManager(models.Manager):
    def all(self):
        # 默认查询未删除的商品信息
        return self.filter(deleted=False)

在模型类 Product 中定义...

课程介绍

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 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

目录

适合这样的人

新手