Django 1.8.1 发行说明 — Django 文档

来自菜鸟教程
Django/docs/3.1.x/releases/1.8.1
跳转至:导航、​搜索

Django 1.0.1 版本发行说明

2015 年 5 月 1 日

Django 1.8.1 修复了 1.8 中的几个错误,并在迁移框架中进行了一些优化。

漏洞修复

  • 添加了对迁移中序列化 timedelta 对象的支持 (:ticket:`24566`)。
  • 恢复了 :djadmin:`testserver` 命令的位置参数(夹具名称)(:ticket:`24571`)的正确解析。
  • 当翻译被停用时,在翻译功能 check_for_language()get_language_bidi() 中阻止 TypeError (:ticket:`24569`)。
  • 修复了 :djadmin:`squashmigrations` 命令在使用 SeparateDatabaseAndState (:ticket:`24278`) 时的问题。
  • 使用旧版本的 MySQLdb DB API 驱动程序时从 datetime 值中剥离微秒,因为它不支持小数秒 (:ticket:`24584`)。
  • 修复了更改 ManyToManyFields (:ticket:`24513`) 时迁移崩溃的问题。
  • 修复了 QuerySet.update() 在一对一字段的外键上的崩溃 (:ticket:`24578`)。
  • 修复了当模型具有反向外键关系 (:ticket:`24624`) 时 admindocs 的模型详细信息视图中的回归。
  • 防止在 admindocs (:ticket:`24625`) 中包含任意文件。
  • 修复了 QuerySet.update() 对具有 uuid 主键的实例的外键崩溃 (:ticket:`24611`)。
  • 使用 SQLite 3.8.9(2015 年 4 月 8 日发布)修复了数据库自省(:ticket:`24637`)。
  • 更新了 :djadmin:`startproject` 生成的 urlpatterns 示例,以删除在 django.conf.urls.url() 中通过虚线路径引用视图的使用,这在 Django 1.8 中已弃用 (:ticket :`24635`)。
  • 修复了在 order_by() 中引用了表达式但不是 select 子句的一部分的查询。 一个示例查询是 qs.annotate(foo=F('field')).values('pk').order_by('foo')) (:ticket:`24615`)。
  • 修复了引用回归的数据库表名 (:ticket:`24605`)。
  • 防止在 MySQL 数据库字段更改期间 null/not null 列属性丢失 (:ticket:`24595`)。
  • 修复了使用备用静态文件存储时 contrib.admin 相关字段小部件的 JavaScript 路径(:ticket:`24655`)。
  • 修复了向模型添加新关系时迁移崩溃的问题 (:ticket:`24573`)。
  • 修复了在 Python 2 (:ticket:`24701`) 上生成的 Python 3 上使用模型管理器应用迁移时的迁移崩溃问题。
  • 恢复了使用迭代器作为查询集过滤器参数的能力(:ticket:`24719`)。
  • 修复了重命名多对多关系 (:ticket:`24725`) 的目标模型时迁移崩溃的问题。
  • 删除了使用 test --keepdb 刷新测试数据库,这会阻止具有数据迁移的应用程序使用该选项 (:ticket:`24729`)。
  • 修复了 makemessages 在某些语言环境中崩溃的问题 (:ticket:`23271`)。
  • 修复了使用 ModelAdmin.filter_horizontalfilter_vertical 选项的 contrib.admin 字段的帮助文本定位(:ticket:`24676`)。
  • 修复了在 Windows 上初始化 contrib.gis 时的 AttributeError: function 'GDALAllRegister' not found 错误。


优化

  • ModelState 更改为深拷贝字段,而不是解构和重建 (:ticket:`24591`)。 这加快了模型状态的渲染并减少了运行时的内存使用 :djadmin:`manage.py 迁移 ` (尽管此版本中的其他更改可能会抵消任何性能优势)。