# Django 5.2.8 documentation

# 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` 时迁移对自动创建的多对多表的重命名问题 (#23630)。

- 修复了在 SQLite 上向模型添加显式 `id` 字段时迁移崩溃的问题 (#23702)。

- 在重新加载模块时，当存在重复的模型时添加了警告。以前，每当两个模型在应用程序注册表中冲突时，都会引发 `RuntimeError` (#23621)。

- 防止 `flush` 为已迁移的应用程序加载初始数据 (#23699)。

- 修复了 1.7.1 中的 `makemessages` 回归问题，当 `STATIC_ROOT` 具有默认值 `None` 时 (#23717)。

- 添加了 GeoDjango 与 mysqlclient 数据库驱动的兼容性。

- 修复了 MySQL 5.6+ 在迁移中与 `GeometryField` 相关的崩溃问题 (#23719)。

- 修复了在删除一个被 `AlterIndexTogether` 或 `AlterUniqueTogether` 引用的字段时的迁移崩溃问题 (#23614)。

- 将乌克兰语环境中每周的第一天更新为星期一。

- 在 SpatiaLite 4.1+ 上添加了事务性空间元数据初始化的支持 (#23152)。

- 修复了迁移中的崩溃问题，该问题阻止了将具有相同默认值的可空字段更改为非可空字段 (#23738)。

- 修复了在 PostGIS 上添加具有 `blank=True` 的 `GeometryField` 时的迁移崩溃问题 (#23731)。

- 允许将 `DateTimeField()` 用作 `Transform.output_field` (#23420)。

- 修复了与 `float("nan")` 和 `float("inf")` 相关的迁移序列化 bug (#23770)。

- 修复了回归问题，其中具有 `queryset` 属性但没有 `limit_choices_to` 的自定义表单字段不能在 `ModelForm` 中使用 (#23795)。

- 修复了在 MySQL 后端中，当 `db_type` 返回 `None` 时的自定义字段类型验证错误 (#23761)。

- 修复了一个当重命名一个作为 `index_together` 的一部分的字段时的迁移崩溃问题 (#23859)。

- 修复了 `squashmigrations` 以尊重 `--no-optimize` 参数 (#23799)。

- 使 `RenameModel` 可逆操作 (#22248)。

- 在向后迁移时避免了不必要的来自其他应用程序的迁移回滚 (#23410)。

- 修复了在使用深度嵌套子查询时的一种罕见的查询错误 (#23605)。

- 修复了在删除一个作为 `index/unique_together` 约束的一部分的字段时迁移中的崩溃问题 (#23794)。

- 修复了当文件的 `name` 包含 Unicode 字符时，`django.core.files.File.__repr__()` 的问题 (#23888)。

- 在管理员的 `delete_selected` 视图中添加了缺失的上下文，以防止自定义站点标题等不显示 (#23898)。

- 修复了动态生成的内联和允许在管理员中引用字段的回归问题 (#23754)。

- 修复了某些循环迁移依赖关系的无限循环 bug，并对循环依赖关系的错误消息进行了改进，使其更加有帮助。

- 为 SQLite 添加了缺失的 `index_together` 处理 (#23880)。

- 修复了在模式编辑器收集 `RunSQL` SQL 内容时崩溃的问题，通常在使用 `sqlmigrate` 时发生 (#23909)。

- 修复了 `contrib.admin` 添加/更改视图中的回归问题，导致一些 `ModelAdmin` 方法接收到错误的 `obj` 值 (#23934)。

- 修复了当套接字错误消息包含 Unicode 字符时，`runserver` 崩溃的问题 (#23946)。

- 修复了在添加 `deconstruct()` 方法时对 `type` 的序列化问题 (#23950)。

- 阻止了 `django.contrib.auth.middleware.SessionAuthenticationMiddleware` 在所有响应上设置 `"Vary: Cookie"` 头 (#23939)。

- 修复了在 MySQL 上将 `blank=True` 添加到 `TextField()` 时的崩溃问题 (#23920)。

- 修复了迁移基础结构创建索引的问题，特别是在处理 PostgreSQL 特定的 `{text|varchar}_pattern_ops` 索引时的问题 (#23954)。

- 修复了在处理多表继承并继承自多个模型时，`makemigrations` 会创建损坏的迁移文件的 bug (#23956)。

- 修复了当 `MultiValueField` 具有无效数据时的崩溃问题 (#23674)。

- 修复了在管理员中使用 "另存为新" 并删除相关联的内联时的崩溃问题 (#23857)。

- 始终将 `related_name` 转换为文本 (Unicode)，因为在 Python 3 中，这是插值所必需的。移除了迁移反构造中的 `related_name` 到文本的转换 (#23455 和 #23982)。

- 扩大了默认情况下在 Oracle 上用于测试的表空间的大小（主表空间从 200M 增加到 300M，临时表空间从 100M 增加到 150M）。这是为了适应 Django 自己的测试套件的增长而需要的 (#23969)。

- 修复了韩语中 `timesince` 过滤器的翻译问题 (#23989)。

- 修复了 SQLite 的 `SchemaEditor` 在没有用户指定的 `default` 的情况下正确添加默认值的问题。例如，一个具有 `blank=True` 的 `CharField` 没有将现有的行设置为空字符串，这会在添加 `NOT NULL` 约束时导致崩溃 (#23987)。

- 在添加没有 `default` 的 `TextField()` 或 `CharField()` 时，`makemigrations` 不再提示输入默认值 (#23405)。

- 修复了在向具有现有行的表添加 `order_with_respect_to` 时的迁移崩溃问题 (#23983)。

- 如果所有应用程序都具有迁移，则恢复了 `pre_migrate` 信号 (#23975)。

- 使自定义 `AdminSite` 运行管理员系统检查 (#23497)。

- 确保在反序列化模型时完全填充应用程序注册表。当外部脚本（如队列基础架构）重新加载序列化的模型时，可能会出现 `AppRegistryNotReady` 异常导致崩溃 (#24007)。

- 在迁移生成的 SQL 中为字段索引添加引号，以防止索引名称需要引号时导致崩溃 (#24015)。

- 在迁移问题中添加了对 `datetime.time` 的支持 (#23998)。

- 修复了在以 egg 形式安装的应用程序上的 admindocs 崩溃问题 (#23525)。

- 更改了迁移自动检测器，以在更改 `Meta.managed` 时生成 `AlterModelOptions` 操作，而不是生成 `DeleteModel` 和 `CreateModel` 操作。这可以防止在 `managed` 从 `False` 更改为 `True` 或反之时丢失数据 (#24037)。

- 在具有迁移的应用程序上启用了 `sqlsequencereset` 命令 (#24054)。

- 在具有迁移的应用程序中添加了表空间 SQL (#24051)。

- 在多数据库设置中纠正了 `contrib.sites` 默认站点创建的问题 (#24000)。

- 在 Python 3 中恢复了 `django.utils.safestring.mark_for_escaping()` 中不是 `str` 或 `bytes` 类型的对象的支持。

- 在模板引擎中支持了通过第三方库使用 `__html__` 约定进行转义的字符串 (#23831)。

- 防止在迁移中出现多余的 `DROP DEFAULT` SQL (#23581)。

- 恢复了使用超过五层子查询的能力 (#23758)。

- 修复了当使用一个初始化为字典的 `ValidationError` 来初始化另一个 `ValidationError` 时出现崩溃的问题 (#24008)。

- 在运行 `migrate --list` 时，防止了在没有迁移的应用程序上发生崩溃 (#23366)。