# Django 5.2.8 documentation

# Django 1.7.1 版本发行说明

2014 年 10 月 22日

Django 1.7.1 修复了 1.7 版本中的一些错误。

## 漏洞修复

- 允许引用相关的多对多字段在管理员中 (#23604)。

- 如果您尝试在未创建 `contenttypes` 表的情况下迁移应用程序，将会显示更加有帮助的错误消息（#22411）。

- 修改了迁移依赖算法，以避免可能的无限递归。

- 修复了当 `flush` 错误消息包含 Unicode 字符时出现的 `UnicodeDecodeError` (#22882)。

- 重新引入了缺失的 `CHECK` SQL 子句，这些子句在某些后端上在不使用迁移时被省略了 (#23416)。

- 修复了在迁移中对 `type` 对象的序列化 (#22951)。

- 允许内联和隐藏引用管理员字段 (#23431)。

- 现在，如果被装饰的对象无法自动导入，`@deconstructible` 装饰器将引发 `ValueError` (#23418)。

- 修复了 `inlineformset_factory()` 错误消息中的拼写错误，导致崩溃 (#23451)。

- 恢复了使用 `ABSOLUTE_URL_OVERRIDES` 与 `'auth.User'` 模型的能力 (#11775)。作为副作用，该设置现在会为出现在 `ABSOLUTE_URL_OVERRIDES` 中但没有定义 `get_absolute_url()` 的任何模型添加一个 `get_absolute_url()` 方法。

- 避免了在应用程序加载过程中掩盖一些 `ImportError` 异常 (#22920)。

- 空的 `index_together` 或 `unique_together` 模型选项不再导致无限迁移 (#23452)。

- 修复了在 `contrib.sitemaps` 中的崩溃，如果 `lastmod` 返回的是一个 `date` 而不是一个 `datetime` (#23403)。

- 允许迁移与具有相同最后一部分的 `app_label` （例如 `django.contrib.auth` 和 `vendor.auth`）一起工作 (#23483)。

- 恢复了深度复制 `F` 对象的能力 (#23492)。

- 已添加威尔士语（`cy`）和多个中国区域（`zh_CN`、`zh_Hans`、`zh_Hant` 和 `zh_TW`）的格式。已修复马其顿语的格式（删除尾部点号，#23532）。

- 在迁移生成的 SQL 中添加了对约束名称的引用，以防止在名称中使用大写字符时崩溃 (#23065)。

- 修复了具有自引用多对多字段（`ManyToManyField('self')`）的模型重命名问题 (#23503)。

- Added the `get_extra()`, `get_max_num()`, and `get_min_num()` hooks to `GenericInlineModelAdmin` (#23539).

- 使 `migrations.RunSQL` 不再需要百分号转义。现在与 `cursor.execute()` 保持一致 (#23426)。

- 使 `TEST` 字典中的 `SERIALIZE` 条目可用 (#23421)。

- 修复了迁移中的错误，该错误阻止了对具有自定义主键的未管理模型的外键约束 (#23415)。

- 为 MySQL GIS 后端添加了 `SchemaEditor`，以便在具有迁移的应用程序中创建空间索引 (#23538)。

- 为 Oracle GIS 后端添加了 `SchemaEditor`，以便在具有迁移的应用程序中创建空间元数据和索引 (#23537)。

- 在生成迁移时将 `related_name` 模型字段选项强制转换为 Unicode，以生成在 Python 2 和 3 中都可用的迁移 (#23455)。

- 修复了 `MigrationWriter` 以处理没有导入的内置类型 (#23560)。

- 修复了 `ErrorList` 上的 `deepcopy` (#23594)。

- 使 `admindocs` 中的浏览视图详细信息的视图检查 URL 中指定的视图是否存在于 URL 配置中。以前，可以从 Python 路径中导入任意包。这不被认为是一个安全问题，因为 `admindocs` 只对工作人员用户可访问 (#23601)。

- 修复了在请求中包含非 ASCII 字符时，`AdminEmailHandler` 中的 `UnicodeDecodeError` 崩溃 (#23593)。

- 修复了相关管理器上缺失 `get_or_create` 和 `update_or_create` 导致 `IntegrityError` 的问题 (#23611)。

- 在 Python 3 上，使 `urlsafe_base64_decode()` 返回正确的类型（字节字符串） (#23333)。

- `makemigrations` 现在可以序列化带有时区信息的值 (#23365)。

- 在从字段中移除空约束以防止现有 NULL 行上的 IntegrityError 时，为迁移问题添加了提示 (#23609)。

- 修复了 `ModelAdmin.list_filter` 中的通用关联问题 (#23616)。

- 恢复了 Python 3 上 SMTP 后端的 RFC 兼容性 (#23063)。

- 修复了解析包含无效内容的 Cookie 时崩溃的问题 (#23638)。

- 系统检查框架现在在类方法 `Model.check()` 不可达时引发错误 models.E020 (#23615)。

- 在前一个测试运行的不干净退出事件中，Oracle 测试数据库创建现在会删除测试用户 (#23649)。

- 修复了 `makemigrations` 以检测对 `Meta.db_table` 的更改 (#23629)。

- 修复了在向 Django 测试客户端提供空数据字符串时的回归问题 (#21740)。

- 修复了 `makemessages` 中的回归问题，其中静态文件意外被忽略 (#23583)。