# Django 4.2.11 documentation

# 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()` 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`.

See Transaction pooling and 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).

- Fixed a crash when using a `__icontains` lookup on a `ArrayField` (#28038).

- Fixed a crash when using a two-tuple in `EmailMessage`’s `attachments` argument (#28042).

- Fixed `QuerySet.filter()` crash when it references the name of a `OneToOneField` primary key (#28047).

- Fixed empty POST data table appearing instead of “No POST data” in HTML debug page (#28079).

- Restored `BoundField`s without any `choices` evaluating to `True` (#28058).

- Prevented `SessionBase.cycle_key()` from losing session data if `_session_cache` isn’t populated (#28066).

- Fixed layout of `ReadOnlyPasswordHashWidget` (used in the admin’s user change page) (#28097).

- Allowed prefetch calls on managers with custom `ModelIterable` subclasses (#28096).

- Fixed change password link in the `contrib.auth` admin for `el`, `es_MX`, and `pt` translations (#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).

- Fixed crash in `BaseGeometryWidget.subwidgets()` (#28039).

- Fixed exception reraising in ORM query execution when `cursor.execute()` fails and the subsequent `cursor.close()` also fails (#28091).

- Fixed a regression where `CheckboxSelectMultiple`, `NullBooleanSelect`, `RadioSelect`, `SelectMultiple`, and `Select` localized option values (#28075).

- Corrected the stack level of unordered queryset pagination warnings (#28109).

- Fixed a regression causing incorrect queries for `__in` subquery lookups when models use `ForeignKey.to_field` (#28101).

- Fixed crash when overriding the template of `django.views.static.directory_index()` (#28122).

- Fixed a regression in formset `min_num` validation with unchanged forms that have initial data (#28130).

- Prepared for `cx_Oracle` 6.0 support (#28138).

- Updated the `contrib.postgres` `SplitArrayWidget` to use template-based widget rendering (#28040).

- Fixed crash in `BaseGeometryWidget.get_context()` when overriding existing `attrs` (#28105).

- Prevented `AddIndex` and `RemoveIndex` from mutating model state (#28043).

- Prevented migrations from dropping database indexes from `Meta.indexes` when changing `Field.db_index` to `False` (#28052).

- Fixed a regression in choice ordering in form fields with grouped and non-grouped options (#28157).

- Fixed crash in `BaseInlineFormSet._construct_form()` when using `save_as_new` (#28159).

- Fixed a regression where `Model._state.db` wasn’t set correctly on multi-table inheritance parent models after saving a child model (#28166).

- Corrected the return type of `ArrayField(CITextField())` values retrieved from the database (#28161).

- Fixed `QuerySet.prefetch_related()` crash when fetching relations in nested `Prefetch` objects (#27554).

- Prevented hiding GDAL errors if it’s not installed when using `contrib.gis` (#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).