---
title: "Django 1.8.1 版本发行说明"
version: 5.2
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/5.2/releases/1.8.1/
canonical: https://djangodocs.dev/zh-hans/5.2/releases/1.8.1/
---
# Django 1.8.1 版本发行说明

*2015 年 5 月 1 日*

Django 1.8.1 修复了 1.8 版本中的一些错误，并对迁移框架进行了一些优化。

## 漏洞修复

- 在迁移中添加了对 [`timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta) 对象的序列化支持 ([#24566](https://code.djangoproject.com/ticket/24566))。
- 已恢复对 [`testserver`](/zh-hans/5.2/ref/django-admin/#django-admin-testserver) 命令的位置参数（fixture 名称）进行正确解析 ([#24571](https://code.djangoproject.com/ticket/24571))。
- 在翻译函数 `check_for_language()` 和 `get_language_bidi()` 中，在翻译被停用时，防止了 `TypeError` ([#24569](https://code.djangoproject.com/ticket/24569))。
- 修复了在使用 [`SeparateDatabaseAndState`](/zh-hans/5.2/ref/migration-operations/#django.db.migrations.operations.SeparateDatabaseAndState) 时 [`squashmigrations`](/zh-hans/5.2/ref/django-admin/#django-admin-squashmigrations) 命令的问题 ([#24278](https://code.djangoproject.com/ticket/24278))。
- 在使用较旧版本的 MySQLdb DB API 驱动程序时，从 `datetime` 值中去除了微秒，因为它不支持分数秒 ([#24584](https://code.djangoproject.com/ticket/24584))。
- 修复了在修改 [`ManyToManyField`](/zh-hans/5.2/ref/models/fields/#django.db.models.ManyToManyField) 时发生的迁移崩溃问题 ([#24513](https://code.djangoproject.com/ticket/24513))。
- 修复了在对外键到一对一字段的情况下使用 `QuerySet.update()` 时发生的崩溃问题 ([#24578](https://code.djangoproject.com/ticket/24578))。
- 修复了 [`admindocs`](/zh-hans/5.2/ref/contrib/admin/admindocs/#module-django.contrib.admindocs) 的模型详细视图中的一个回归问题，当一个模型具有反向外键关系时 ([#24624](https://code.djangoproject.com/ticket/24624))。
- 防止了在 [`admindocs`](/zh-hans/5.2/ref/contrib/admin/admindocs/#module-django.contrib.admindocs) 中的任意文件包含问题 ([#24625](https://code.djangoproject.com/ticket/24625))。
- 修复了在对外键到具有 `uuid` 主键的实例使用 `QuerySet.update()` 时发生的崩溃问题 ([#24611](https://code.djangoproject.com/ticket/24611))。
- 修复了与 SQLite 3.8.9（发布于 2015 年 4 月 8 日）的数据库内省问题 ([#24637](https://code.djangoproject.com/ticket/24637))。
- 更新了由 [`startproject`](/zh-hans/5.2/ref/django-admin/#django-admin-startproject) 生成的 `urlpatterns` 示例，移除了在 `django.conf.urls.url()` 中使用点路径引用视图的用法，该用法在 Django 1.8 中已被弃用 ([#24635](https://code.djangoproject.com/ticket/24635))。
- 修复了在查询中引用了 `order_by()` 中的表达式，但该表达式不是选择子句的一部分的问题。一个示例查询是 `qs.annotate(foo=F('field')).values('pk').order_by('foo'))` ([#24615](https://code.djangoproject.com/ticket/24615))。
- 修复了一个数据库表名引用的回归问题 ([#24605](https://code.djangoproject.com/ticket/24605))。
- 防止了在对 MySQL 数据库字段进行更改时丢失 `null`/`not null` 列属性 ([#24595](https://code.djangoproject.com/ticket/24595))。
- 修复了在使用替代静态文件存储时，`contrib.admin` 的关联字段小部件的 JavaScript 路径的问题 ([#24655](https://code.djangoproject.com/ticket/24655))。
- 修复了在向模型添加新关系时发生迁移崩溃的问题 ([#24573](https://code.djangoproject.com/ticket/24573))。
- 修复了在 Python 3 上应用在 Python 2 上生成的具有模型管理器的迁移时发生的崩溃问题 ([#24701](https://code.djangoproject.com/ticket/24701))。
- 恢复了将迭代器用作查询集过滤器参数的能力 ([#24719](https://code.djangoproject.com/ticket/24719))。
- 修复了在重命名多对多关系的目标模型时发生迁移崩溃的问题 ([#24725](https://code.djangoproject.com/ticket/24725))。
- 移除了使用 [`test --keepdb`](/zh-hans/5.2/ref/django-admin/#cmdoption-test-keepdb) 时清空测试数据库的操作，这样可以使具有数据迁移的应用程序使用该选项 ([#24729](https://code.djangoproject.com/ticket/24729))。
- 修复了在某些区域设置下发生的 `makemessages` 崩溃问题 ([#23271](https://code.djangoproject.com/ticket/23271))。
- 修复了使用 `ModelAdmin.filter_horizontal` 和 `filter_vertical` 选项的 `contrib.admin` 字段的帮助文本位置问题 ([#24676](https://code.djangoproject.com/ticket/24676))。
- 修复了在 Windows 上初始化 `contrib.gis` 时出现的 `AttributeError: function 'GDALAllRegister' not found` 错误。

## 优化

- 将 `ModelState` 更改为深拷贝字段，而不是拆解和重构字段 ([#24591](https://code.djangoproject.com/ticket/24591))。这加速了模型状态的渲染，并在运行 [`manage.py migrate`](/zh-hans/5.2/ref/django-admin/#django-admin-migrate) 时减少了内存使用（尽管此版本中的其他更改可能会抵消任何性能优势）。
