zoukankan      html  css  js  c++  java
  • Django 惰性机制

    惰性机制

    了解所谓的惰性机制:

      Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行sql。

    了解什么是QuerySet?

      Django的ORM中存在查询集的概念(查询集也被称作为结果集),QuerySet 表示从数据库中获取的对象集合,

      Django会对查询返回的结果集QuerySet进行缓存,这是为了提高查询效率

    Django返回查询集可以调用如下过滤器:

      all():    返回所有数据;

      filter():    返回满足条件的数据;

      order_by():      对结果进行倒序;

      exclude():   返回满足条件之外的数据

    QerySet 的两大特性:惰性执行和缓存

    惰性执行:

    obj_li=models.Book.objects.all()      #如Book中有[1,2,3,4,5] ,只是将其获取到,并莫有执行
    for a in obj_li:     # 每一个a就是一个行对象,此时会执行sql
        print(a)        

    缓存:

    obj_li=models.Book.objects.all()     # [1,2,3,4,5.......], 再次调用缓存结果obj_li,不再进行数据库获取,而是使用缓存
    #切片进行获取数据的范围
    print(obj_li[1])          
    print(obj_li[1:4])
    print(obj_li[::-1])            
  • 相关阅读:
    mysql导出csv文件
    httpclient设置proxy与proxyselector
    91删除数据
    使用RestTemplate post方式提交表单数据
    bootstrap获取总条目数
    获取字符串已utf-8表示的字节数
    mongo批量更新
    重庆大学计算机917考研分析(定期更新考研信息)
    卷积
    LaTeX中自定义enumerate的编号格式
  • 原文地址:https://www.cnblogs.com/tisnk/p/11788066.html
Copyright © 2011-2022 走看看