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’snameargument. If you created a named index with Django 1.11,makemigrationswill create a migration to recreate the index with the correct name (#28051).
- Fixed a crash when using a __icontainslookup on aArrayField(#28038).
- Fixed a crash when using a two-tuple in EmailMessage’sattachmentsargument (#28042).
- Fixed QuerySet.filter()crash when it references the name of aOneToOneFieldprimary key (#28047).
- Fixed empty POST data table appearing instead of “No POST data” in HTML debug page (#28079).
- Restored BoundFields without anychoicesevaluating toTrue(#28058).
- Prevented SessionBase.cycle_key()from losing session data if_session_cacheisn’t populated (#28066).
- Fixed layout of ReadOnlyPasswordHashWidget(used in the admin’s user change page) (#28097).
- Allowed prefetch calls on managers with custom ModelIterablesubclasses (#28096).
- Fixed change password link in the contrib.authadmin forel,es_MX, andpttranslations (#28100).
- Restored the output of the classattribute in the<ul>of widgets that use themultiple_input.htmltemplate. This fixesModelAdmin.radio_fieldswithadmin.HORIZONTAL(#28059).
- Fixed crash in BaseGeometryWidget.subwidgets()(#28039).
- Fixed exception reraising in ORM query execution when cursor.execute()fails and the subsequentcursor.close()also fails (#28091).
- Fixed a regression where CheckboxSelectMultiple,NullBooleanSelect,RadioSelect,SelectMultiple, andSelectlocalized option values (#28075).
- Corrected the stack level of unordered queryset pagination warnings (#28109).
- Fixed a regression causing incorrect queries for __insubquery lookups when models useForeignKey.to_field(#28101).
- Fixed crash when overriding the template of
django.views.static.directory_index()(#28122).
- Fixed a regression in formset min_numvalidation with unchanged forms that have initial data (#28130).
- Prepared for cx_Oracle6.0 support (#28138).
- Updated the contrib.postgresSplitArrayWidgetto use template-based widget rendering (#28040).
- Fixed crash in BaseGeometryWidget.get_context()when overriding existingattrs(#28105).
- Prevented AddIndexandRemoveIndexfrom mutating model state (#28043).
- Prevented migrations from dropping database indexes from Meta.indexeswhen changingField.db_indextoFalse(#28052).
- Fixed a regression in choice ordering in form fields with grouped and non-grouped options (#28157).
- Fixed crash in  BaseInlineFormSet._construct_form()when usingsave_as_new(#28159).
- Fixed a regression where Model._state.dbwasn’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 nestedPrefetchobjects (#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 __inlookups on a foreign key to fail when using the foreign key’s parent model as the lookup value (#28175).
 
          