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_horizontal
和filter_vertical
选项的contrib.admin
字段的帮助文本定位(:ticket:`24676`)。 - 修复了在 Windows 上初始化
contrib.gis
时的AttributeError: function 'GDALAllRegister' not found
错误。
优化
- 将
ModelState
更改为深拷贝字段,而不是解构和重建 (:ticket:`24591`)。 这加快了模型状态的渲染并减少了运行时的内存使用 :djadmin:`manage.py 迁移 ` (尽管此版本中的其他更改可能会抵消任何性能优势)。