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)。
- 修复了 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)。
- 修复了在模式编辑器收集 - RunSQLSQL 内容时崩溃的问题,通常在使用- 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 DEFAULTSQL (#23581)。
- 恢复了使用超过五层子查询的能力 (#23758)。 
- 修复了当使用一个初始化为字典的 - ValidationError来初始化另一个- ValidationError时出现崩溃的问题 (#24008)。
- 在运行 - migrate --list时,防止了在没有迁移的应用程序上发生崩溃 (#23366)。
 
          