Django——惰性机制

Django惰性机制

  所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),

  它并不会马上执行sql,而是当调用QuerySet的时候才执行。

了解什么是QuerySet?

  QuerySet是查询集,就是传到服务器上的url里面的查询内容。

  Django会对查询返回的结果集QuerySet进行缓存,这是为了提高查询效率。

  也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,只有在你需要用到这个QuerySet的时候才会这样做。

QuerySet的两个特点:

  1迭代 

1 def list(request):
2     obj_li = models.Book.objects.all()
3     for item in obj_li[1:3]:    # 每一obj就是一个行对象,此时会执行sql
4         print (item.name)

  2切片

1 # objs=models.Book.objects.all() # [obj1,obj2,ob3...]
2 # print(objs[1])
3 # print(objs[1:4])
4 # print(objs[::-1])

原文地址:https://www.cnblogs.com/jiekesi/p/11773508.html

时间: 2024-11-06 14:02:43

Django——惰性机制的相关文章

Django 惰性机制

惰性机制:Publisher.Book.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行sql,为了测试,我们加上 sql 日志. 在 settings.py 文件上添加下面代码 # 在里面添加 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level'

Django中的惰性机制

惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行sql,为了测试,我们加上 sql 日志. 在 settings.py 文件上修改 1 # 在最后添加 2 LOGGING = { 3 'version': 1, 4 'disable_existing_loggers': False, 5 'handlers': { 6 'console':{ 7 'l

django权限机制

1. Django权限机制概述 权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活:用好权限机制,能让系统更加强大和健壮.因此,基于Django的开发,理清Django权限机制是非常必要的. 1.1 Django的权限控制 Django用user, group和permission完成了权限机制,这个权限机制是将属于model的某个permission赋予user或group,可以理解为全局 的权限,即如果用户A对数据模型(model)B有可写权限,那么A能修改model

Spring 和 Django 安全机制的比较

做了一年多的python 方面的web开发工作,昨个有个同学问我Django的安全机制,我是一脸的茫然.每天使用公司开发框架的我,对这些东西了解的甚少,俨然成为一个真正的"码农",只知其然而不知其所以然.我要改变,故从网络上,查了下,记下被查,内容如下: 介绍 Spring是Java语言开发的一站式Web框架.包括:SpringMVC,Spring,SpringSecurity,SpringAOP等子框架.Spring在数据库访问层可以整合Hibernate,iBatis等第三方框架.

django 权限机制

1. Django权限机制概述 权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活:用好权限机制,能让系统更加强大和健壮.因此,基于Django的开发,理清Django权限机制是非常必要的. 1.1 Django的权限控制 Django用user, group和permission完成了权限机制,这个权限机制是将属于model的某个permission赋予user或group,可以理解为全局的权限,即如果用户A对数据模型(model)B有可写权限,那么A能修改model B

Django权限机制概述

1. Django权限机制概述 权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活:用好权限机制,能让系统更加强大和健壮.因此,基于Django的开发,理清Django权限机制是非常必要的. 1.1 Django的权限控制 Django用user, group和permission完成了权限机制,这个权限机制是将属于model的某个permission赋予user或group,可以理解为全局的权限,即如果用户A对数据模型(model)B有可写权限,那么A能修改model B

contenttype组件、Django缓存机制以及跨域请求

1 昨日回顾 版本控制 *** (1)url=127.0.0.1/course/?version=v100000 1 versioning_class=QueryParameterVersioning 'VERSION_PARAM':'version', 'DEFAULT_VERSION':'v2', 'ALLOWED_VERSIONS':['v1','v2'] 2 配置成全局:在setting里:QueryParameterVersioning (2)重要(以后建议用这种):127.0.0.1

Spark惰性机制引起的:Input path does not exist

分析: val textFile = Sc.textFile(“file///usr/local/spark/...”)加载本地文件,必须以“file:///”开头 Spark的惰性机制:执行上面的命令不会马上显示结果 只有遇到行动类型的操作,才会从头到尾执行所有操作,如:textFile.first()// 从文件中加载数据到变量textFile中,并取出第一行文本. 结论:该目录的文件不存在. 避免此类问题:及时使用textFile.first()检验 原文地址:https://www.cn

Django缓存机制

django的缓存 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. https://www.cnblogs.