- 浏览: 2663676 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
django
的model效率不是很高,特别是在做大量的数据库操作的时候,如果你只用django来开企业站或者外包项目的话,那可以小跳过下,而你恰巧是效率狂或者说是对程序的效率要求比较高的话,那就要注意下面的几个方法。
1. count()方法:
我们想用count方法来获取记录的条数可以采用下面的方法:
num = info.objects.filter('...').count()
我们来看下django model模块里面count方法是怎么写的?
def count(self):
"""
Performs a SELECT COUNT() and returns the number of records as an
integer.
If the QuerySet is already fully cached this simply returns the length
of the cached results set to avoid multiple SELECT COUNT(*) calls.
"""
if self._result_cache is not None and not self._iter:
return len(self._result_cache)
return self.query.get_count(using=self.db)
从上面的看来,djang model的count()要执行SELECT COUNT()语句,其实是查询了下数据库,这样如果记录比较多的情况下,
查询数据库的效率还是比较低的.
我的建议是:直接用len()来查看记录集的长度。
比如上面的写法我们可以用len()方法来修改。
info = info.objects.filter('...')
num = len(info)
2多用切片
比如我们要查询数据的话,如果你的数据量比较大的情况下,你没有限定要查询的范围,对系统的开销会非常的大,比如你要分页的显示
新闻数据,那你就要按照一页要显示多少数据,就读取多少数据,而不是一次起把数据全部给读出来,然后再根据限定的条件来显示的数据。
比如你要显示前10条的新闻的话按照下面的方法来做:
news = News.objects.all()[1:10]
而不是:
news = News.objects.all()
news = news[1:10]
因为
news = News.objects.all()
news = news[1:10]
你是把数据库里的数据全部给读出来,这样效率不是很高。
上面说的这几点是提高django model效率的几个小方法,希望大家平时在用django开发项目的时候要注意一些效率方面的东西。
下面关于django model的一篇文章:
发表评论
-
django 处理unicode编码
2013-04-28 22:18 2837django.util.encoding.py impor ... -
django lazy user实现
2013-04-26 15:48 1226代码如下: from people.service ... -
django db models探索
2013-03-24 16:04 1806一、django db models结构 django ... -
django + sqlalchemy pool 测试
2013-03-15 22:59 13931.修改gevent /duitang/dist/sys ... -
django template探索
2013-01-04 18:18 1247由于需要解决django template问题,研究了djan ... -
django db backends探索
2012-12-29 18:20 2486由于需要解决django db长连接的问题,最近看了看djan ... -
MySQL Connection Pooling with Django and SQLAlchemy
2012-12-28 21:54 0Here's a quick and dirty recipe ... -
Launching a High Performance Django Site
2012-12-28 21:39 1077Are the brakes on your Django a ... -
django 性能优化
2012-12-28 17:24 2125django默认的一些系统性能低下,无法支撑大流量请求,一些优 ... -
让Django支持数据库长连接
2012-12-28 17:05 1812原文:http://www.cnblogs.com ... -
django 的BaseMemcachedCache线程安全问题
2012-10-21 15:11 1125注意,django.core.cache.backends.m ... -
django request 获取请求的URL
2012-10-17 17:17 22092request.get_host() 获取请求地址 ... -
django user model
2012-09-12 22:01 946http://stackoverflow.com/questi ... -
python uwsgi
2012-07-30 17:21 0之前的文章已经提到了 django+fastcgi的运行并 ... -
在生产系统使用Tornado WebServer来代替FastCGI加速你的Django应用
2012-07-30 17:19 5原文:http://www.cnblogs.com/Alexa ... -
python web.py
2012-07-30 17:04 945使用web.py能快速启动一个web服务。 # -*- c ... -
浅析 Django runserver 的 autoreload 功能
2012-07-30 16:53 5150浅析 Django runserver 的 auto ... -
django auth_user.get_profile
2012-07-24 12:29 2627django 对 auth_user 提供了扩展get_pro ... -
django + postfix 搭建邮件服务
2012-07-23 14:48 1396email 配置: SERVER_EMAIL = &q ... -
django 中文问题
2012-07-17 16:45 1601好像每个国外的开源框架都会遇到中文问题,今天又被django ...
相关推荐
为了提高效率,Django允许对`QuerySet`进行缓存,从而减少数据库访问次数。当使用`iterator()`或`list()`方法时,`QuerySet`只会执行一次数据库查询,并缓存结果。 ```python articles = Article.objects.all()....
学习Django,需要关注以下几个方面的内容: 1. 认识Django框架及其与Python版本的关系:Django是一个Python语言编写的框架,因此学习者需要熟悉Python的基础知识,同时要了解不同版本的Django对Python版本的依赖性...
总结,通过PyCharm操作Django Model涉及以下几个关键步骤:定义Model,生成和应用迁移,使用SQLite工具查看数据库,创建视图处理数据,编写模板展示数据,最后启动服务器并查看结果。这个过程使得开发者能够高效地...
标签"django, python, 后端, 开发语言, Python库"揭示了`django_pb_model`与几个关键领域有关。首先,`django`表明这个库是与Django框架相关的,Django是用Python编写的一个广泛使用的开源Web应用框架,遵循模型-...
Django项目的典型结构包括以下几个部分: 1. manage.py:项目管理脚本,用于启动服务器、迁移数据库、创建应用等。 2. settings.py:项目配置文件,包含数据库设置、中间件、应用列表、静态文件和媒体文件路径等。 3...
学习Django的路线大致可以分为以下几个阶段: - 入门:了解Django框架的基本概念,安装Django环境,熟悉Django的目录结构和基本运行原理。 - 基础知识:深入理解Django的核心组件,包括模型(Model)、视图(View)...
Django项目通常由以下几个主要部分组成:`manage.py`、`settings.py`、`urls.py`和`wsgi.py`。`manage.py`是项目的命令行接口,可以用于创建应用、迁移数据库等操作;`settings.py`存储项目配置信息;`urls.py`处理...
在 Django 1.5.4 版本中,有几个重要的特性值得一提: 1. **模型(Model)**:Django 的模型是数据库层的抽象,允许开发者用 Python 代码定义数据结构。通过定义模型类,你可以轻松地创建数据库表、执行查询以及...
在这里,我们可能涉及到以下几个关键知识点: 1. **Django模板系统**:Django提供了强大的模板语言,用于将静态HTML与动态数据结合。在创建轮播图时,我们需要定义一个模板,将图片、链接和其他信息插入到HTML结构...
Django的目标是提高开发效率,并且坚持DRY(Don't Repeat Yourself)的原则。 **1.2 Django的主要特点** - **快速开发**:Django提供了许多内置的功能,使得开发者能够快速地构建复杂的Web应用程序。 - **DRY原则**...
在【压缩包子文件的文件名称列表】中,我们看到有以下几个部分: 1. **venv**:这是Python的虚拟环境目录,开发者通常会为每个项目创建一个独立的虚拟环境,以隔离项目的依赖包,避免版本冲突。在这里,venv包含了...
在Django中,有几个关键的知识点是本书可能会详细讲解的: 1. **MVC架构**:Django遵循Model-View-Controller(模型-视图-控制器)设计模式。书中可能会解释每个组件的作用以及它们如何协同工作,帮助开发者构建...
首先,我们要了解Django框架中几个关键概念。在Django项目中,模型(Model)代表了数据库中的数据结构,视图(View)负责处理用户的请求并返回相应的响应,而模板(Template)则用于定义输出的HTML结构。 在本例中...
Django是一个开源的、高级的Web开发框架,遵循“DRY”(Don't Repeat Yourself)原则,旨在减少重复代码,提高开发效率。它内置了ORM(对象关系映射),使得数据库操作更加简单,同时支持多种数据库引擎,如SQLite、...
在实际开发中,使用django_dramatiq_pg可能会涉及以下几个知识点: 1. **Django框架**:了解Django的基本概念,包括MVC(Model-View-Controller)架构、URL路由、模板系统、表单处理、认证和授权等。 2. **...
一个基于Python和Django的漏洞扫描系统通常由以下几个主要部分组成: - 数据库:存储扫描结果、目标信息和配置数据。 - 扫描引擎:执行网络扫描,识别潜在漏洞。 - 分析模块:分析扫描结果,确定漏洞类型和严重...
在这个练习中,你将学习到以下几个关键知识点: 1. **Django模板语言(DTL)**:DTL是Django提供的强大而灵活的模板系统,允许开发者使用Python语法结构来控制HTML的生成。通过模板标签、过滤器和变量,你可以构建...
在这个高速收费系统中,Django的主要作用可能包括以下几个方面: 1. **用户认证与授权**:Django内置了强大的用户认证系统,可以用于管理员和其他工作人员的身份验证和权限控制,确保只有授权人员才能访问和操作...
Django,作为Python最流行的Web框架之一,以其MVC(Model-View-Controller)设计模式和强大的功能著称。然而,在处理静态资源如CSS和JavaScript时,原始的Django并未提供特别高效的解决方案。这正是`django-pipeline...
这个库将Pydantic的易用性和强类型验证功能引入到Django的settings模块,从而提高了代码的可读性、可维护性和安全性。 ### Pydantic简介 Pydantic是Paul Ross开发的一个Python库,用于从JSON或其他数据源解析和...