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).