---
title: "Django 1.11.1 release notes"
version: 2.1
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/2.1/releases/1.11.1/
canonical: https://djangodocs.dev/zh-hans/2.1/releases/1.11.1/
---
# Django 1.11.1 release notes

*May 6, 2017*

Django 1.11.1 adds a minor feature and fixes several bugs in 1.11.

## Allowed disabling server-side cursors on PostgreSQL

The change in Django 1.11 to make [`QuerySet.iterator()`](/zh-hans/2.1/ref/models/querysets/#django.db.models.query.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`](/zh-hans/2.1/ref/settings/#std-setting-DATABASE-DISABLE_SERVER_SIDE_CURSORS) setting in [`DATABASES`](/zh-hans/2.1/ref/settings/#std-setting-DATABASES).

See [Transaction pooling and server-side cursors](/zh-hans/2.1/ref/databases/#transaction-pooling-server-side-cursors) for more discussion.

## Bugfixes

- Made migrations respect `Index`’s `name` argument. If you created a
  named index with Django 1.11, `makemigrations` will create a migration to
  recreate the index with the correct name ([#28051](https://code.djangoproject.com/ticket/28051)).
- Fixed a crash when using a `__icontains` lookup on a `ArrayField`
  ([#28038](https://code.djangoproject.com/ticket/28038)).
- Fixed a crash when using a two-tuple in `EmailMessage`’s `attachments`
  argument ([#28042](https://code.djangoproject.com/ticket/28042)).
- Fixed `QuerySet.filter()` crash when it references the name of a
  `OneToOneField` primary key ([#28047](https://code.djangoproject.com/ticket/28047)).
- Fixed empty POST data table appearing instead of "No POST data" in HTML debug
  page ([#28079](https://code.djangoproject.com/ticket/28079)).
- Restored `BoundField`s without any `choices` evaluating to `True`
  ([#28058](https://code.djangoproject.com/ticket/28058)).
- Prevented `SessionBase.cycle_key()` from losing session data if
  `_session_cache` isn't populated ([#28066](https://code.djangoproject.com/ticket/28066)).
- Fixed layout of `ReadOnlyPasswordHashWidget` (used in the admin's user
  change page) ([#28097](https://code.djangoproject.com/ticket/28097)).
- Allowed prefetch calls on managers with custom `ModelIterable` subclasses
  ([#28096](https://code.djangoproject.com/ticket/28096)).
- Fixed change password link in the `contrib.auth` admin for `el`,
  `es_MX`, and `pt` translations ([#28100](https://code.djangoproject.com/ticket/28100)).
- Restored the output of the `class` attribute in the `<ul>` of widgets
  that use the `multiple_input.html` template. This fixes
  `ModelAdmin.radio_fields` with `admin.HORIZONTAL` ([#28059](https://code.djangoproject.com/ticket/28059)).
- Fixed crash in `BaseGeometryWidget.subwidgets()` ([#28039](https://code.djangoproject.com/ticket/28039)).
- Fixed exception reraising in ORM query execution when `cursor.execute()`
  fails and the subsequent `cursor.close()` also fails ([#28091](https://code.djangoproject.com/ticket/28091)).
- Fixed a regression where `CheckboxSelectMultiple`, `NullBooleanSelect`,
  `RadioSelect`, `SelectMultiple`, and `Select` localized option values
  ([#28075](https://code.djangoproject.com/ticket/28075)).
- Corrected the stack level of unordered queryset pagination warnings
  ([#28109](https://code.djangoproject.com/ticket/28109)).
- Fixed a regression causing incorrect queries for `__in` subquery lookups
  when models use `ForeignKey.to_field` ([#28101](https://code.djangoproject.com/ticket/28101)).
- Fixed crash when overriding the template of
  `django.views.static.directory_index()` ([#28122](https://code.djangoproject.com/ticket/28122)).
- Fixed a regression in formset `min_num` validation with unchanged forms
  that have initial data ([#28130](https://code.djangoproject.com/ticket/28130)).
- Prepared for `cx_Oracle` 6.0 support ([#28138](https://code.djangoproject.com/ticket/28138)).
- Updated the `contrib.postgres` `SplitArrayWidget` to use template-based
  widget rendering ([#28040](https://code.djangoproject.com/ticket/28040)).
- Fixed crash in `BaseGeometryWidget.get_context()` when overriding existing
  `attrs` ([#28105](https://code.djangoproject.com/ticket/28105)).
- Prevented `AddIndex` and `RemoveIndex` from mutating model state
  ([#28043](https://code.djangoproject.com/ticket/28043)).
- Prevented migrations from dropping database indexes from `Meta.indexes`
  when changing `Field.db_index` to `False` ([#28052](https://code.djangoproject.com/ticket/28052)).
- Fixed a regression in choice ordering in form fields with grouped and
  non-grouped options ([#28157](https://code.djangoproject.com/ticket/28157)).
- Fixed crash in  `BaseInlineFormSet._construct_form()` when using
  `save_as_new` ([#28159](https://code.djangoproject.com/ticket/28159)).
- Fixed a regression where `Model._state.db` wasn't set correctly on
  multi-table inheritance parent models after saving a child model
  ([#28166](https://code.djangoproject.com/ticket/28166)).
- Corrected the return type of `ArrayField(CITextField())` values retrieved
  from the database ([#28161](https://code.djangoproject.com/ticket/28161)).
- Fixed `QuerySet.prefetch_related()` crash when fetching relations in nested
  `Prefetch` objects ([#27554](https://code.djangoproject.com/ticket/27554)).
- Prevented hiding GDAL errors if it's not installed when using `contrib.gis`
  ([#28160](https://code.djangoproject.com/ticket/28160)). (It's a required dependency as of Django 1.11.)
- Fixed a regression causing `__in` lookups on a foreign key to fail when
  using the foreign key's parent model as the lookup value ([#28175](https://code.djangoproject.com/ticket/28175)).
