query_set 惰性机制

query_set惰性机制

query_set不会触发sql语句,不用,不取

def orm(req):
    obj_set = models.Book.objects.filter(id=1)
    for i in obj_set:     # 会走一次数据库,会把数据扔到缓存里
        print(i.title)
    return HttpResponse('OK')
    
    if obj_set.exists(): # 会走一次数据库,不会把数据扔到缓存里
        print('kkk')
        
     obj = obj_set[0]  # 切片也会操作数据库

上图第一次for循环时,django查询了数据库,然后把结果存在了缓存里.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容