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
’sname
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 aArrayField
(#28038).Fixed a crash when using a 2-tuple in
EmailMessage
’sattachments
argument (#28042).Fixed
QuerySet.filter()
crash when it references the name of aOneToOneField
primary key (#28047).Fixed empty POST data table appearing instead of “No POST data” in HTML debug page (#28079).
Restored
BoundField
s without anychoices
evaluating toTrue
(#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 forel
,es_MX
, andpt
translations (#28100).Restored the output of the
class
attribute in the<ul>
of widgets that use themultiple_input.html
template. This fixesModelAdmin.radio_fields
withadmin.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
, andSelect
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 useForeignKey.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 existingattrs
(#28105).Prevented
AddIndex
andRemoveIndex
from mutating model state (#28043).Prevented migrations from dropping database indexes from
Meta.indexes
when changingField.db_index
toFalse
(#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.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 nestedPrefetch
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).