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

*2015 年 1 月 2 日*

Django 1.7.2 修复了 1.7.1 中的几个错误。

此外，Django 内置的 six 版本，即 `django.utils.six`，已经升级到最新版本 (1.9.0)。

## 漏洞修复

- 修复了在更改 [`Meta.db_table`](/zh-hans/6.1/ref/models/options/#django.db.models.Options.db_table) 时迁移对自动创建的多对多表的重命名问题 ([#23630](https://code.djangoproject.com/ticket/23630))。
- 修复了在 SQLite 上向模型添加显式 `id` 字段时迁移崩溃的问题 ([#23702](https://code.djangoproject.com/ticket/23702))。
- 在重新加载模块时，当存在重复的模型时添加了警告。以前，每当两个模型在应用程序注册表中冲突时，都会引发 `RuntimeError` ([#23621](https://code.djangoproject.com/ticket/23621))。
- 防止 [`flush`](/zh-hans/6.1/ref/django-admin/#django-admin-flush) 为已迁移的应用程序加载初始数据 ([#23699](https://code.djangoproject.com/ticket/23699))。
- 修复了 1.7.1 中的 [`makemessages`](/zh-hans/6.1/ref/django-admin/#django-admin-makemessages) 回归问题，当 [`STATIC_ROOT`](/zh-hans/6.1/ref/settings/#std-setting-STATIC_ROOT) 具有默认值 `None` 时 ([#23717](https://code.djangoproject.com/ticket/23717))。
- 添加了 GeoDjango 与 mysqlclient 数据库驱动的兼容性。
- 修复了 MySQL 5.6+ 在迁移中与 `GeometryField` 相关的崩溃问题 ([#23719](https://code.djangoproject.com/ticket/23719))。
- 修复了在删除一个被 `AlterIndexTogether` 或 `AlterUniqueTogether` 引用的字段时的迁移崩溃问题 ([#23614](https://code.djangoproject.com/ticket/23614))。
- 将乌克兰语环境中每周的第一天更新为星期一。
- 在 SpatiaLite 4.1+ 上添加了事务性空间元数据初始化的支持 ([#23152](https://code.djangoproject.com/ticket/23152))。
- 修复了迁移中的崩溃问题，该问题阻止了将具有相同默认值的可空字段更改为非可空字段 ([#23738](https://code.djangoproject.com/ticket/23738))。
- 修复了在 PostGIS 上添加具有 `blank=True` 的 `GeometryField` 时的迁移崩溃问题 ([#23731](https://code.djangoproject.com/ticket/23731))。
- 允许将 `DateTimeField()` 用作 `Transform.output_field` ([#23420](https://code.djangoproject.com/ticket/23420))。
- 修复了与 `float("nan")` 和 `float("inf")` 相关的迁移序列化 bug ([#23770](https://code.djangoproject.com/ticket/23770))。
- 修复了回归问题，其中具有 `queryset` 属性但没有 `limit_choices_to` 的自定义表单字段不能在 [`ModelForm`](/zh-hans/6.1/topics/forms/modelforms/#django.forms.ModelForm) 中使用 ([#23795](https://code.djangoproject.com/ticket/23795))。
- 修复了在 MySQL 后端中，当 `db_type` 返回 `None` 时的自定义字段类型验证错误 ([#23761](https://code.djangoproject.com/ticket/23761))。
- 修复了一个当重命名一个作为 `index_together` 的一部分的字段时的迁移崩溃问题 ([#23859](https://code.djangoproject.com/ticket/23859))。
- 修复了 [`squashmigrations`](/zh-hans/6.1/ref/django-admin/#django-admin-squashmigrations) 以尊重 `--no-optimize` 参数 ([#23799](https://code.djangoproject.com/ticket/23799))。
- 使 [`RenameModel`](/zh-hans/6.1/ref/migration-operations/#django.db.migrations.operations.RenameModel) 可逆操作 ([#22248](https://code.djangoproject.com/ticket/22248))。
- 在向后迁移时避免了不必要的来自其他应用程序的迁移回滚 ([#23410](https://code.djangoproject.com/ticket/23410))。
- 修复了在使用深度嵌套子查询时的一种罕见的查询错误 ([#23605](https://code.djangoproject.com/ticket/23605))。
- 修复了在删除一个作为 `index/unique_together` 约束的一部分的字段时迁移中的崩溃问题 ([#23794](https://code.djangoproject.com/ticket/23794))。
- 修复了当文件的 `name` 包含 Unicode 字符时，`django.core.files.File.__repr__()` 的问题 ([#23888](https://code.djangoproject.com/ticket/23888))。
- 在管理员的 `delete_selected` 视图中添加了缺失的上下文，以防止自定义站点标题等不显示 ([#23898](https://code.djangoproject.com/ticket/23898))。
- 修复了动态生成的内联和允许在管理员中引用字段的回归问题 ([#23754](https://code.djangoproject.com/ticket/23754))。
- 修复了某些循环迁移依赖关系的无限循环 bug，并对循环依赖关系的错误消息进行了改进，使其更加有帮助。
- 为 SQLite 添加了缺失的 `index_together` 处理 ([#23880](https://code.djangoproject.com/ticket/23880))。
- 修复了在模式编辑器收集 `RunSQL` SQL 内容时崩溃的问题，通常在使用 `sqlmigrate` 时发生 ([#23909](https://code.djangoproject.com/ticket/23909))。
- 修复了 `contrib.admin` 添加/更改视图中的回归问题，导致一些 `ModelAdmin` 方法接收到错误的 `obj` 值 ([#23934](https://code.djangoproject.com/ticket/23934))。
- 修复了当套接字错误消息包含 Unicode 字符时，`runserver` 崩溃的问题 ([#23946](https://code.djangoproject.com/ticket/23946))。
- 修复了在添加 `deconstruct()` 方法时对 `type` 的序列化问题 ([#23950](https://code.djangoproject.com/ticket/23950))。
- 阻止了 `django.contrib.auth.middleware.SessionAuthenticationMiddleware` 在所有响应上设置 `"Vary: Cookie"` 头 ([#23939](https://code.djangoproject.com/ticket/23939))。
- 修复了在 MySQL 上将 `blank=True` 添加到 `TextField()` 时的崩溃问题 ([#23920](https://code.djangoproject.com/ticket/23920))。
- 修复了迁移基础结构创建索引的问题，特别是在处理 PostgreSQL 特定的 `{text|varchar}_pattern_ops` 索引时的问题 ([#23954](https://code.djangoproject.com/ticket/23954))。
- 修复了在处理多表继承并继承自多个模型时，`makemigrations` 会创建损坏的迁移文件的 bug ([#23956](https://code.djangoproject.com/ticket/23956))。
- 修复了当 `MultiValueField` 具有无效数据时的崩溃问题 ([#23674](https://code.djangoproject.com/ticket/23674))。
- 修复了在管理员中使用 "另存为新" 并删除相关联的内联时的崩溃问题 ([#23857](https://code.djangoproject.com/ticket/23857))。
- 始终将 `related_name` 转换为文本 (Unicode)，因为在 Python 3 中，这是插值所必需的。移除了迁移反构造中的 `related_name` 到文本的转换 ([#23455](https://code.djangoproject.com/ticket/23455) 和 [#23982](https://code.djangoproject.com/ticket/23982))。
- 扩大了默认情况下在 Oracle 上用于测试的表空间的大小（主表空间从 200M 增加到 300M，临时表空间从 100M 增加到 150M）。这是为了适应 Django 自己的测试套件的增长而需要的 ([#23969](https://code.djangoproject.com/ticket/23969))。
- 修复了韩语中 `timesince` 过滤器的翻译问题 ([#23989](https://code.djangoproject.com/ticket/23989))。
- 修复了 SQLite 的 `SchemaEditor` 在没有用户指定的 `default` 的情况下正确添加默认值的问题。例如，一个具有 `blank=True` 的 `CharField` 没有将现有的行设置为空字符串，这会在添加 `NOT NULL` 约束时导致崩溃 ([#23987](https://code.djangoproject.com/ticket/23987))。
- 在添加没有 `default` 的 `TextField()` 或 `CharField()` 时，`makemigrations` 不再提示输入默认值 ([#23405](https://code.djangoproject.com/ticket/23405))。
- 修复了在向具有现有行的表添加 `order_with_respect_to` 时的迁移崩溃问题 ([#23983](https://code.djangoproject.com/ticket/23983))。
- 如果所有应用程序都具有迁移，则恢复了 `pre_migrate` 信号 ([#23975](https://code.djangoproject.com/ticket/23975))。
- 使自定义 `AdminSite` 运行管理员系统检查 ([#23497](https://code.djangoproject.com/ticket/23497))。
- 确保在反序列化模型时完全填充应用程序注册表。当外部脚本（如队列基础架构）重新加载序列化的模型时，可能会出现 `AppRegistryNotReady` 异常导致崩溃 ([#24007](https://code.djangoproject.com/ticket/24007))。
- 在迁移生成的 SQL 中为字段索引添加引号，以防止索引名称需要引号时导致崩溃 ([#24015](https://code.djangoproject.com/ticket/24015))。
- 在迁移问题中添加了对 `datetime.time` 的支持 ([#23998](https://code.djangoproject.com/ticket/23998))。
- 修复了在以 egg 形式安装的应用程序上的 admindocs 崩溃问题 ([#23525](https://code.djangoproject.com/ticket/23525))。
- 更改了迁移自动检测器，以在更改 `Meta.managed` 时生成 `AlterModelOptions` 操作，而不是生成 `DeleteModel` 和 `CreateModel` 操作。这可以防止在 `managed` 从 `False` 更改为 `True` 或反之时丢失数据 ([#24037](https://code.djangoproject.com/ticket/24037))。
- 在具有迁移的应用程序上启用了 `sqlsequencereset` 命令 ([#24054](https://code.djangoproject.com/ticket/24054))。
- 在具有迁移的应用程序中添加了表空间 SQL ([#24051](https://code.djangoproject.com/ticket/24051))。
- 在多数据库设置中纠正了 `contrib.sites` 默认站点创建的问题 ([#24000](https://code.djangoproject.com/ticket/24000))。
- 在 Python 3 中恢复了 `django.utils.safestring.mark_for_escaping()` 中不是 [`str`](https://docs.python.org/3/library/stdtypes.html#str) 或 [`bytes`](https://docs.python.org/3/library/stdtypes.html#bytes) 类型的对象的支持。
- 在模板引擎中支持了通过第三方库使用 `__html__` 约定进行转义的字符串 ([#23831](https://code.djangoproject.com/ticket/23831))。
- 防止在迁移中出现多余的 `DROP DEFAULT` SQL ([#23581](https://code.djangoproject.com/ticket/23581))。
- 恢复了使用超过五层子查询的能力 ([#23758](https://code.djangoproject.com/ticket/23758))。
- 修复了当使用一个初始化为字典的 `ValidationError` 来初始化另一个 `ValidationError` 时出现崩溃的问题 ([#24008](https://code.djangoproject.com/ticket/24008))。
- 在运行 `migrate --list` 时，防止了在没有迁移的应用程序上发生崩溃 ([#23366](https://code.djangoproject.com/ticket/23366))。
