焦作集团网站建设,用html5设计个人网站,建设银行个人网上银行登录,自己在线制作logo免费无水印BookInfo.objects.all()-objects是一个什么东西呢#xff1f; 答#xff1a;objects是models.Manger类的一个对象#xff0c;是Django帮我自动生成的管理器对象#xff0c;通过这个管理器可以实现对数据的查询。
自定义管理器之后Django不再帮我们生成默认的objects管…BookInfo.objects.all()-objects是一个什么东西呢 答objects是models.Manger类的一个对象是Django帮我自动生成的管理器对象通过这个管理器可以实现对数据的查询。
自定义管理器之后Django不再帮我们生成默认的objects管理器
1)自定义一个管理器类这个类继承models.Manger类。 2)再在具体的模型类里定义一个自定义管理器类的对象。
自定义管理器类的应用场景
1改变查询的结果集。 比如调用BookInfo.books.all()返回的是没有删除的图书的数据。 2添加额外的方法。 管理器类中定义一个方法帮我们操作模型类对应的数据表。 使用self.model()就可以创建一个跟自定义管理器对应的模型类对象。
class BookInfoManager(models.Manager):图书模型管理器类# 1.改变原有查询的结果集def all(self):# 1.调用父类的all方法获取所有数据books super().all() # QuerySet# 2.对books中的数据进行过滤books books.filter(isDeleteFalse)# 返回booksreturn books# 2.封装方法操作模型类对应的数据表增删改查)def create_book(self, btitle, bpub_date):添加一本图书# 1.创建一个图书对象# 获取self所在的模型类model_class self.modelbook model_class()# book BookInfo()book.btitle btitlebook.bpub_date bpub_date# 2.添加进数据库book.save()# 3.返回bookreturn book