美文网首页
Django-数据库中查询集QuerySet

Django-数据库中查询集QuerySet

作者: 测试探索 | 来源:发表于2022-09-04 16:49 被阅读0次

    一、概念

    查询集,也成为查询结果集,QuerySet,表示从数据库中获取的对象集合。
    当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):

    • all():返回所有数据
    • filter():返回满足条件的数据
    • exclude():返回满足条件之外的数据
    • order_by():对结果进行排序

    二、两大特性

    2.1惰性执行

    创建查询集不会访问数据库,直到调用数据时,才会访问那数据库,调用数据的情况包括迭代器的使用
    例如,当执行如下语句时,并未进行数据库查询,只是创建了一个查询集books

     book = BookInfo.objects.all()
    

    继续执行遍历迭代操作后,财政正的进行了数据库的查询

    for book in books:
            print(book.name)
    
    2.2缓存

    使用同一个查询集,第一次使用时会发生数据库的查询,然后Django会把结果缓存下来,再次使用这个查询集时会使用缓存的数据,减少了数据库的查询次数。

    相关文章

      网友评论

          本文标题:Django-数据库中查询集QuerySet

          本文链接:https://www.haomeiwen.com/subject/cpfmnrtx.html