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 错误处理等。欲了解更详细的信息,可以查看发布说明。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论