Django学习笔记2

1.BookInfo.objects.all()

  • objects:是Manager类型的对象,用于与数据库进行交互
  • 当定义模型类时没有指定管理器,则Django会为模型类提供一个名为objects的管理器
  • 支持明确指定模型类的管理器
  • 当为模型类指定管理器后,django不再为模型类生成名为objects的默认管理器

2.管理器Manager

  • 管理器是Django的模型进行数据库的查询操作的接口,Django应用的每个模型都拥有至少一个管理器
  • 自定义管理器类主要用于两种情况
  • 情况一:向管理器类中添加额外的方法:见下面“创建对象”中的方式二
  • 情况二:修改管理器返回的原始查询集:重写get_queryset()方法

3.类方法

class BookInfo(models.Model):
省略部分代码
@classmethod def create(cls,btitle,bpub_date): b=BookInfo() b.btitle=btitle b.bpub_date=bpub_date b.bread=0 b.bcommet=0 b.isDelete=False return b

b=BookInfo.create('aaa','1995-1-1') #这是直接调用类里面的方法,不是对象的方法
class BookInfo(models.Model):
    省略部分代码
    def create(btitle,bpub_date):
        b=BookInfo()
        b.btitle=btitle
        b.bpub_date=bpub_date
        b.bread=0
        b.bcommet=0
        b.isDelete=False
        return b

b=BookInfo.create('aaa','1995-1-1')#这样也可以,但是先创建的b对象,然后执行的b.create()方法

猜你喜欢

转载自www.cnblogs.com/O-OK/p/8997288.html