Python Django,模型,模型管理器类(models.Manager)(与数据库交互的接口),自定义模型管理器类

 

模型类.objects.all() ---> objects是Django自动生成的管理器对象,通过这个管理器对象可以实现与数据库的交互。

定义模型类时可以为模型类指定自定义的管理类对象,指定后Django就不会再生成默认的管理器对象了。

 

应用名/models.py(模型,定义模型类、模型管理类):

from django.db import models

# 自定义的模型管理类(继承models.Manager)
class BookInfoManager(models.Manager):
    # 重写父类all()方法。 返回isDelete为False的所有记录。
    def all(self):
        # 默认返回所有记录。
        # 调用父类的成员语法为:super().方法名
        return super().all().filter(isDelete=False)  # 通过过滤器,返回isDelete为False的所有记录。

    # 封装创建模型类对象的方法
    def create_book(self, title, pub_date):
        # self.model可以获得self的模型类名(BookInfo)
        book = self.model()  # 创建模型类对象。
        book.btitle = title
        book.bpub_date = pub_date
        book.bread=0
        book.bcommet=0
        book.isDelete = False
        # 将数据插入进数据表
        book.save()
        return book


# 图书
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值