# Django 5.2.8 documentation

# Django 1.11.1 版本发行说明

2017 年 5 月 6 日

Django 1.11.1 添加了一个小功能，并修复了 1.11 中的若干错误。

## 允许在 PostgreSQL 上禁用服务器端游标

The change in Django 1.11 to make `QuerySet.iterator()` use server-side cursors on PostgreSQL prevents running Django with PgBouncer in transaction pooling mode. To reallow that, use the `DISABLE_SERVER_SIDE_CURSORS` setting in `DATABASES`.

有关更多讨论，请参阅 事务池和服务器端游标。

## 漏洞修复

- 迁移现在会尊重 `Index` 的 `name` 参数。如果你在 Django 1.11 中创建了一个具有名称的索引，`makemigrations` 将创建一个迁移来重新创建具有正确名称的索引 (#28051)。

- 修复了在 `ArrayField` 上使用 `__icontains` 查找时的崩溃问题 (#28038)。

- 修复了在 `EmailMessage` 的 `attachments` 参数中使用 2 元组时崩溃的问题 (#28042)。

- 修复了当 `QuerySet.filter()` 引用 `OneToOneField` 主键的名称时导致的崩溃 (#28047)。

- 修复了在 HTML 调试页面中出现空的 POST 数据表格，而不是显示 "No POST data" (#28079)。

- 恢复了 `BoundField` 中没有任何 `choices` 的情况下被评估为 `True` (#28058)。

- 防止在 `_session_cache` 未填充的情况下使 `SessionBase.cycle_key()` 丢失会话数据 (#28066)。

- 修复了 `ReadOnlyPasswordHashWidget` 的布局（在管理员的用户更改页面中使用） (#28097)。

- 允许在具有自定义 `ModelIterable` 子类的管理器上进行预取调用 (#28096)。

- 修复了 `contrib.auth` 管理员中的更改密码链接，适用于 `el`、`es_MX` 和 `pt` 翻译 (#28100)。

- 恢复了在使用 `multiple_input.html` 模板的小部件的 `<ul>` 中的 `class` 属性的输出。这修复了使用 `admin.HORIZONTAL` 的 `ModelAdmin.radio_fields` (#28059)。

- 修复了 `BaseGeometryWidget.subwidgets()` 中的崩溃 (#28039)。

- 修复了在 ORM 查询执行中，当 `cursor.execute()` 失败并且随后的 `cursor.close()` 也失败时重新引发异常 (#28091)。

- 修复了一个回归问题，其中 `CheckboxSelectMultiple`、`NullBooleanSelect`、`RadioSelect`、`SelectMultiple` 和 `Select` 的本地化选项值 (#28075)。

- 修正了无序查询集分页警告的堆栈级别 (#28109)。

- 修复了回归问题，当模型使用 `ForeignKey.to_field` 时，导致 `__in` 子查询查找的查询不正确 (#28101)。

- 修复了在重写 `django.views.static.directory_index()` 模板时的崩溃问题 (#28122)。

- 修复了在表单集 `min_num` 验证中的回归问题，当未更改具有初始数据的表单时 (#28130)。

- 准备好支持 `cx_Oracle` 6.0 (#28138)。

- 更新了 `contrib.postgres` 中的 `SplitArrayWidget`，使用基于模板的小部件渲染 (#28040)。

- 修复了在覆盖现有 `attrs` 时导致的 `BaseGeometryWidget.get_context()` 崩溃 (#28105)。

- 阻止了 `AddIndex` 和 `RemoveIndex` 对模型状态进行更改 (#28043)。

- 阻止了在将 `Field.db_index` 更改为 `False` 时，迁移从 `Meta.indexes` 中删除数据库索引 (#28052)。

- 修复了在具有分组和非分组选项的表单字段中选择顺序的退化问题 (#28157)。

- 修复了在使用 `save_as_new` 时导致的 `BaseInlineFormSet._construct_form()` 崩溃 (#28159)。

- 修复了在保存子模型后，多表继承父模型上未正确设置 `Model._state.db` 的退化问题 (#28166)。

- 已更正从数据库中检索的 `ArrayField(CITextField())` 值的返回类型 (#28161)。

- 修复了在获取嵌套的 `Prefetch` 对象中的关系时导致的 `QuerySet.prefetch_related()` 崩溃问题 (#27554)。

- 在使用 `contrib.gis` 时，防止隐藏 GDAL 错误，如果它未安装的话 (#28160)。 (自 Django 1.11 起，它是一个必需的依赖项。)

- 修复了使用外键的父模型作为查找值时导致 `__in` 查找失败的退化问题 (#28175)。