买药品最好的网站,最新美国电影,狂蟒之灾小说
惰性机制:publisher.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 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")
浏览器访问 结果显示 sql 语句没有执行
调用 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")
浏览器访问 结果显示 sql 语句已执行
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论