设为首页 加入收藏

TOP

Django 自定义模型管理器类2个应用场景
2019-01-15 20:08:33 】 浏览:74
Tags:Django 定义 模型 管理 应用 场景
class BookManager(models.Manager):
    # 改变查询集的结果集
    def all(self):
        books = super().all()    # QuerySet
        books = books.filter(isDelete=False)
        return books
    
    
    # 封装函数:操作模型类对应的数据表(增删改查)
    def create_book(self, title, author):
        # book = BookInfo()    # 另一个模型类
        model_class = self.model # 可以获取当前模型类名,代替上一条代码
        book = model_class
        book.title = title
        book.author = author
        book.save()
        return book        


class BookInfo(models.Model):
  title = models.CharField(max_length=20)
  author = models.CharField(max_length=10)
  
  objects = BookManager() # 自定义BookManager类的对象


==================================================================
# objects 是自己定义的,并非模型类里面的默认的 objects
# 显示的结果将是未被逻辑删除的数据
>>> BookInfo.objects.all()


>>> BookInfo.objects.create_book('了不起的盖茨比', '菲茨杰拉德')

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇logging模块 下一篇Python编码、变量、流程控制

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目