参考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()

   

 

posted on 2019-08-13 09:54  wy0925  阅读(166)  评论(0)    收藏  举报