码迷,mamicode.com
首页 > 其他好文 > 详细

Django 惰性机制

时间:2019-11-04 09:51:54      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:back   token   code   django   nbsp   rtc   publish   返回   data-   

惰性机制:Publisher.Book.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行sql,为了测试,我们加上 sql 日志。

在 settings.py 文件上添加下面代码

# 在里面添加
LOGGING = {
    version: 1,
    disable_existing_loggers: False,
    handlers: {
        console:{
            level:DEBUG,
            class:logging.StreamHandler,
        },
    },
    loggers: {
        django.db.backends: {
            handlers: [console],
            propagate: True,
            level:DEBUG,
        },
}

 

在views.py写一个函数

from django.shortcuts import render, HttpResponse
 
from app01 import models
 
def temp(requset):
 
obj1 = models.Book.objects.filter(id=1)
 
return HttpResponse("我是函数temp")

 

浏览器访问 http://127.0.0.1:8080/temp 结果显示 sql 语句没有执行
技术图片

将函数进行一些修改

在 views.py 上调用 obj1对象

def temp(requset):
 
    obj1= models.Book.objects.filter(id=2)
    for obj in obj1:
        print(obj.title)
 
    return HttpResponse("我是temp函数")

浏览器访问 http://127.0.0.1:8000/temp/ 结果显示 sql 语句已执行
技术图片

Django 惰性机制

标签:back   token   code   django   nbsp   rtc   publish   返回   data-   

原文地址:https://www.cnblogs.com/love2000/p/11788882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!