Django 1.11.1 リリースノート¶
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).