May 6, 2017
Django 1.11.1 adds a minor feature and fixes several bugs in 1.11.
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.
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).
Dec 25, 2023