Примечания к выпуску Django 1.11.1¶
Май 6, 2017
Django 1.11.1 добавляет незначительную возможность и исправляет несколько ошибок в 1.11.
Разрешено отключение курсоров на стороне сервера в PostgreSQL¶
Изменение в Django 1.11, заставляющее QuerySet.iterator() использовать серверные курсоры на PostgreSQL, не позволяет запускать Django с PgBouncer в режиме пула транзакций. Чтобы разрешить это, используйте параметр DISABLE_SERVER_SIDE_CURSORS в DATABASES.
Более подробное обсуждение см. в разделе Объединение транзакций и курсоры на стороне сервера.
Исправления¶
- Миграции стали уважать аргумент
Indexотname. Если вы создали именованный индекс в Django 1.11,makemigrationsсоздаст миграцию для воссоздания индекса с правильным именем (#28051). - Исправлена ошибка при использовании поиска
__icontainsнаArrayField(#28038). - Исправлена ошибка при использовании двойного кортежа в аргументе
EmailMessageattachments(#28042). - Исправлено падение
QuerySet.filter(), когда он ссылается на имяOneToOneFieldпервичного ключа (#28047). - Исправлено появление пустой таблицы данных POST вместо «Нет данных POST» на странице отладки HTML (#28079).
- Восстановлено
BoundFields без каких-либоchoices, оценивающих доTrue(#28058). - Предотвращение потери данных сеанса
SessionBase.cycle_key(), если_session_cacheне заполнен (#28066). - Исправлено расположение
ReadOnlyPasswordHashWidget(используется на странице изменения пользователя в админке) (#28097). - Разрешены вызовы prefetch для менеджеров с пользовательскими подклассами
ModelIterable(#28096). - Исправлена ссылка смены пароля в админке
contrib.authдля переводовel,es_MXиpt(#28100). - Восстановлен вывод атрибута
classв<ul>виджетов, использующих шаблонmultiple_input.html. Это исправляетModelAdmin.radio_fieldsсadmin.HORIZONTAL(#28059). - Исправлен сбой при
BaseGeometryWidget.subwidgets()(#28039). - Исправлено повторное возникновение исключения при выполнении запроса ORM, когда
cursor.execute()не работает и последующийcursor.close()также не работает (#28091). - Исправлена ошибка, при которой
CheckboxSelectMultiple,NullBooleanSelect,RadioSelect,SelectMultipleиSelectлокализовали значения опций (#28075). - Исправлен уровень стека предупреждений о пагинации неупорядоченных кверисетов (#28109).
- Исправлена регрессия, приводящая к некорректным запросам для подзапросов
__in, когда в моделях используетсяForeignKey.to_field(#28101). - Исправлено падение при переопределении шаблона
django.views.static.directory_index()(#28122). - Исправлена ошибка в валидации набора форм
min_numс неизмененными формами, имеющими начальные данные (#28130). - Подготовлен для поддержки
cx_Oracle6.0 (#28138). - Обновлено
contrib.postgresSplitArrayWidgetдля использования рендеринга виджетов на основе шаблонов (#28040). - Исправлен сбой в
BaseGeometryWidget.get_context()при переопределении существующегоattrs(#28105). - Запрещено
AddIndexиRemoveIndexмутировать состояние модели (#28043). - Предотвращение миграций, сбрасывающих индексы базы данных с
Meta.indexesпри измененииField.db_indexнаFalse(#28052). - Исправлена ошибка в упорядочивании выбора в полях формы со сгруппированными и несгруппированными опциями (#28157).
- Исправлен сбой в
BaseInlineFormSet._construct_form()при использованииsave_as_new(#28159). - Исправлена регрессия, при которой
Model._state.dbне устанавливался корректно в родительских моделях с многотабличным наследованием после сохранения дочерней модели (#28166). - Исправлен тип возврата значений
ArrayField(CITextField()), получаемых из базы данных (#28161). - Исправлено падение
QuerySet.prefetch_related()при получении отношений во вложенныхPrefetchобъектах (#27554). - Предотвращение скрытия ошибок GDAL, если он не установлен, при использовании
contrib.gis(#28160). (Это обязательная зависимость, начиная с Django 1.11). - Исправлена регрессия, приводившая к сбою поиска по внешнему ключу
__inпри использовании родительской модели внешнего ключа в качестве значения поиска (#28175).