Django是一个采用MVC模型并使用Python编写的开源Web应用框架,经过了近一年的开发,该框架于近日发布了1.7版本。
Django 1.7在增加大量新特性的同时还移除了一些特性,另外新版本还包括一些向后不兼容的变化(从Django 1.6或者更老的版本进行升级,需要注意一下)。新版本包含的主要特性如下:
- 内置了一个新的数据库迁移系统。用户可以通过创建表示模型变化的迁移文件更新、修改或者删除模型,同时该文件可以在任何开发或产品数据库上运行。
- 重构了应用程序的加载方式,Django应用程序不再绑定到已有的模型文件上,在Django启动的时候能够指定配置数据和要执行的代码。
- 改善了模型Field API以便于支持迁移,同时也为了能够在将来很容易地向Django ORM添加复合键(composite-key)支持。
- 改进了自定义Manager 和QuerySet 类。之前创建可重用的模型查询时所推荐的方式是在一个自定义的Manager 类上创建方法。但是这样做的问题是:在第一个方法调用之后需要返回一个QuerySet 实例,并且不能调用附加的自定义Manager 方法。在新版本中QuerySet.as_manager() 类方法能够直接使用QuerySet创建Manager 。此外现在还能够在遍历反向关系时指定一个自定义的Manager 。
- 一个新的系统检查框架,可以帮助开发者发现和分析错误。
除此之外Django 1.7还包含很多其他的特性,包括为prefetch_related操作提供了新的Prefetch 对象、使用数据库游标作为上下文管理器、自定义查找、改进了Form 错误处理等。欲了解更详细的信息,可以查看发布说明。