Django的惰性機(jī)制是什么?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
為洛龍等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及洛龍網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都做網(wǎng)站、洛龍網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Django 惰性機(jī)制
惰性機(jī)制:Publisher.objects.all()或者.filter()等都只是返回了一個QuerySet(查詢結(jié)果集對象),它并不會馬上執(zhí)行sql,而是當(dāng)調(diào)用QuerySet的時候才執(zhí)行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 from app01.models import Book,Author,Publisher # Create your views here. def data_oper(req): obj_set = models.Book.objects.filter(id=2) return HttpResponse("Hello world")
瀏覽器訪問 http://127.0.0.1:8000/data_oper/ 結(jié)果顯示 sql 語句沒有執(zhí)行。
調(diào)用 QuerySet ,在 views.py 上修改
rom django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher # Create your views here. def data_oper(req): obj_set = models.Book.objects.filter(id=2) for obj in obj_set: print(obj.title) return HttpResponse("Hello world")
瀏覽器訪問 http://127.0.0.1:8000/data_oper/ 結(jié)果顯示 sql 語句已執(zhí)行。
看完上述內(nèi)容,你們掌握Django的惰性機(jī)制是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站標(biāo)題:Django的惰性機(jī)制是什么
本文URL:http://sd-ha.com/article34/iedppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、虛擬主機(jī)、網(wǎng)站建設(shè)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)