0x07 -- Django -- 模型介绍 -- 7 -- 模型属性 -- 管理器

0x00 – 模型属性之管理器

模型当中最重要的属性是 Manager。
它是 Django 模型和数据库查询操作之间的接口,并且它被用作从数据库当中 获取实例,如果没有指定自定义的 Manager 默认名称是 objects。
Manager 只能通过模型类来访问,不能通过模型实例来访问。

Manager 是一种接口,它赋予了 Django 模型操作数据库的能力。Django 应用中每个模型拥有至少一个 Manager。

Manager 类的文档介绍位于 执行查询;本页着重介绍自定义 Manager 行为的模型选项。
也就是说,manager类的具体使用就是执行查询了,因为自定义manager行为可能后期有需求,所以先贴上链接

0x01 – 管理器名称

默认情况下,Django 为每个模型类添加了一个名为 objects 的 Manager。不过,若你想将 objects 用作字段名,或想使用 objects 以外的 Manager 名字,就要在模型基类中重命名。要为指定类重命名 Manager,在该模型中定义一个类型为 models.Manager 的属性。例如:

from django.db import models

class Person(models.Model):
    #...
    people = models.Manager()

使用这个实例模型时, Person.objects 会产生一个 AttributeError 异常,而 Person.people.all() 会返回包含所有 Person 对象的列表.


0x02 – 自定义管理器

自定义管理器


2021年9月22日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值