Django 1.11.3 版本发行说明

2017 年 7 月 1 日

Django 1.11.3 修复了 1.11.2 中的几个漏洞。

漏洞修复

  • 移除了关于如果 Widget.render() 方法接受 **kwargs 则缺少 renderer 参数的不正确弃用警告 (#28265)。
  • 修复了导致如果一个字段具有实例特定的描述符,则 Model.__init__() 崩溃的退化问题 (#28269)。
  • 修复了在 list_filter 中使用嵌套的反向关系时出现的不正确的 DisallowedModelAdminLookup 异常 (#28262)。
  • 修复了在管理员的 FieldListFilter.get_queryset() 上输入无效数据时的崩溃问题 (#28202)。
  • 修复了对于必填的 AdminFileWidget 生成的无效 HTML (#28278)。
  • 修复了对于仅继承 models.Model 的模型,设置基于类的模型索引的名称的模型初始化问题 (#28282)。
  • 修复了在模型具有继承的不可编辑主键时,管理员中的内联出现崩溃的问题 (#27967)。
  • 修复了在与 EmptyQuerySet 结合使用时,QuerySet.union(), intersection(), 和 difference() 的问题 (#28293)。
  • 防止 Paginator 的无序对象列表警告评估 QuerySet (#28284)。
  • 修复了在 LoginView 的模板上下文中 redirect_field_name 的值。现在,如果请求中没有发送相应的参数(特别是当直接访问登录页面时),它现在是一个空字符串(与原始的基于函数的 login() 视图一样) (#28229)。
  • 防止在 django/forms/widgets/attrs.html 模板中本地化属性值,以便 NumberInput 的数字属性(例如 maxmin)可以正常工作 (#28303)。
  • CheckboxSelectMultipleNullBooleanSelectRadioSelectSelectMultipleSelect 小部件的模板上下文中删除了选项值转换为字符串的操作 (#28176)。在 Django 1.11.1 中,Python 中添加了转换以避免 Django 模板中的数字值本地化,但这使某些用例变得更加困难。现在在模板中使用 |stringformat:'s' 过滤器进行转换。
  • 如果 db_constraint=False,则防止主键更改添加外键约束 (#28298)。
  • 修复了在不存在的字段上的 RenameField 中的 UnboundLocalError 崩溃问题 (#28350)。
  • 修复了在实例化 ModelForm 时防止模型字段的 limit_choices_to 被评估的回归问题 (#28345)。