Django自定义管理器Manager

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

a)打开models.py文件,定义类BookInfoManager

#图书管理器
class BookInfoManager(models.Manager):
    def all(self):
        #默认查询未删除的图书信息
        #调用父类的成员语法为:super().方法名
        return super().filter(is_delete=False)

b)在模型类BookInfo中定义管理器

class BookInfo(models.Model):
    ...
    books = BookInfoManager()

c)使用方法

BookInfo.books.all()
posted @ 2020-04-19 21:25  Mr_Smith  阅读(121)  评论(0编辑  收藏  举报