参考https://blog.csdn.net/qq_34788903/article/details/87889451

可参考视频 :  https://www.bilibili.com/video/av57516522/?p=20

BookInfo.objects.all()的这个objects是Django自动生成的管理器对象, 通过这个管理器可以实现对数据的查询

from django.db import models

# Create your models here.

class BookInfoManger(models.Model):
# 模型管理器类
def all(self):# 改变查询结果的结果集
books = super().all()
books = books.fliter(isDelete=False)
return books
# 调用父类的all方法获取所有数据,对数据进行过滤,返回books # 操作模型类对应的数据表(增删改查)
def create_book(self,btitle,bpub_date):
# book=BookInfo()这样写一缺点就是下面的BookInfo类名改变之后就会出错,
#应该下面这样
model_class = self.model # 获取self所在的模型类
book = model_class
book.btitle=btitle
book.bpub_date=bpub_date
book.save()
return book # 一类
class BookInfo(models.Model):
btitle = models.CharField(max_length=20) # 图书名称
bpub_date = models.DateField() # 出版日期
bread = models.IntegerField(default=0) # 阅读量,默认为0
bcomment = models.IntegerField(default=0) # 评论量
isDlete = models.BooleanField(default=False) # 逻辑删除,默认不删除
book = models.Manager() # 自定义一个Manager对象 # 自定义一个BookinfoManger类的对象,这是关联起模型类和模型管理器类的一句代码
objects = BookInfoManger()

Django--模型管理器的更多相关文章

  1. Django中自定义模型管理器(Manager)及方法

    1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager.每个Django模型至少有一个ma ...

  2. Django 自定义模型管理器(Manager)及方法

    转载自:https://www.cnblogs.com/sui776265233/p/11571418.html 1.自定义管理器(Manager) 在语句Book.objects.all()中,ob ...

  3. Django 利用管理器实现文章归档

    Django管理器:class Manager 管理器是Django的模型进行数据库查询的接口,Django应用的每个模型都拥有至少一个管理器.默认情况下,Django为每个模型类添加一个名为obje ...

  4. Django Managers管理器

    Managers class Manager 管理器是向Django模型提供数据库查询操作的接口.Django应用程序中每个模型至少有一个管理器. Manager names 默认情况下管理器的名字为 ...

  5. [django]上下文管理器

    上下文管理器django提取context中的数据去供模板调用 需求: 所有的页面都需要一个特定的变量 本质: python函数 , 接收一个HttpRequest对象的参数 , 且返回的必须是一个字 ...

  6. django orm 管理器 objects

    给某张表的管理器重命名 class User(models.Model): name = models.CharField(max_length=100) people = models.Manage ...

  7. Django 上下文管理器的应用

    使用场景:模板继承可以减少页面内容的重复定义,实现页面内容的重用.个人博客右侧的导航栏都是继承base页面从而让代码得到最大程度的复用.但是当父模板中有动态数据的话,这些动态数据在子模版中是不会显示的 ...

  8. Django模型验证器详解和源码分析

    转发请注明来源 在Django的模型字段参数中,有一个参数叫做validators,这个参数是用来指定当前字段需要使用的验证器,也就是对字段数据的合法性进行验证,比如大小.类型等. Django的验证 ...

  9. Django之模型管理器filter处理问题

    今天上班第一天,恭祝所有朋友新年快乐!! 最近在github上发现一个还不错的基于Django的开源博客项目,不过也许是版本原因,其中代码存在着些许问题,今天主要记录下其中的模型处理方法的部分. 这段 ...

  10. Django 自定义模型管理器类2个应用场景

    class BookManager(models.Manager): # 改变查询集的结果集 def all(self): books = super().all() # QuerySet books ...

随机推荐

  1. jenkins 集成环境搭建

    http://www.cnblogs.com/jenniferhuang/p/3355252.html

  2. 如何面试QA(面试官角度)

    面试是一对一 或者多对一的沟通,是和候选人 互相交换信息.平等的. 面试的目标是选择和雇佣最适合的人选.是为了完成组织目标.协助人力判断候选人是否合适空缺职位. 面试类型: (1)预判面试(查看简历后 ...

  3. docker-部署zabbix4

    一.安装docker环境 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 设置yum源 yum-config-mana ...

  4. Python之路Day02

    一.While while -- 循环 while 条件: 循环体 break -- 终止当前循环 while True:    print("爱情买卖")    break   ...

  5. orcad常用库文件

    ORCAD CAPTURE元件库介绍 AMPLIFIER.OLB amplifier 共182个零件,存放模拟放大器IC,如CA3280,TL027C,EL4093等. ARITHMETIC.OLB ...

  6. C语言结构体数组遇上typedef

    昨天韩同学在做数据结构题的时候,问了我一个关于typedef 与结构体数组的问题: typedef struct vexnode { int vertex; arcnode* firstarc; }a ...

  7. linux 中对 mysql 数据库的基本命令

    显示数据库列表 show databases; 显示库中的数据表 use mysql: // 打开库 show tables; 建库 create database 库名; 建库是设置好字符编码: c ...

  8. 解决问题:SVN重命名后,不允许提交

    第一步:选中要修改的文件,右键,修改文件名称,具体操作如下图所示 第二步:提交,提交时,不要提交修改的文件,在上一层文件夹上提交

  9. [POI2007] OSI-Axes of Symmetry

    Description Luogu3454 BZOJ1100 Solution 把边和角顺次放入一个数组里,如果一个点为中心的回文串的半径大于\(n\),那就一定是一个对称轴.跑一遍manacher就 ...

  10. js面向对象的程序设计 --- 下篇 继承启蒙

    继承是oo语言中一个最为人津津乐道的概念.ECMAScript支持实现继承,而且实现继承只要是靠原型链来实现的 ·原型链 其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法. 简单回顾一 ...