Примечания к выпуску 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.
Дополнительную информацию см. в разделе Пул транзакций и курсоры на стороне сервера.
Исправления¶
При миграции учитывается аргумент
Indexname. Если вы создали именованный индекс с помощью Django 1.11, makemigrations создаст миграцию для воссоздания индекса с правильным именем (#28051).Исправлен сбой при использовании поиска
__icontainsдляArrayField(#28038).Fixed a crash when using a two-tuple in
EmailMessage’sattachmentsargument (#28042).Исправлен сбой
QuerySet.filter(), когда он ссылается на имя первичного ключаOneToOneField(#28047).Исправлена пустая таблица данных POST, отображавшаяся вместо «Нет данных POST» на странице отладки HTML (#28079).
Восстановлены
BoundFieldбез каких-либовыборовс оценкойTrue(#28058).Предотвращена потеря данных сеанса
SessionBase.cycle_key(), если_session_cacheне заполнен (#28066).Исправлен макет ReadOnlyPasswordHashWidget (используется на странице изменения пользователя администратора) (#28097).
Разрешены вызовы предварительной выборки для менеджеров с пользовательскими подклассами ModelIterable (#28096).
Исправлена ссылка на изменение пароля в администраторе contrib.auth для переводов el, es_MX и pt (:ticket: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_Oracle 6.0 (#28138).
Обновлен
contrib.postgresSplitArrayWidgetдля использования рендеринга виджетов на основе шаблонов (#28040).Исправлен сбой в BaseGeometryWidget.get_context() при переопределении существующих attrs (:ticket:28105).
Предотвращено изменение состояния модели
AddIndexи``RemoveIndex`` (#28043).Предотвращена миграция из-за удаления индексов базы данных из Meta.indexes при изменении Field.db_index на False (:ticket:28052).
Исправлена регрессия в порядке выбора в полях формы с сгруппированными и не сгруппированными опциями (#28157).
Исправлен сбой в BaseInlineFormSet._construct_form() при использовании save_as_new (:ticket:28159).
Исправлена регрессия, из-за которой
Model._state.dbне устанавливался правильно в родительских моделях многотабличного наследования после сохранения дочерней модели (#28166).Исправлен тип возвращаемого значения ArrayField(CITextField())``, полученного из базы данных (#28161).
Исправлен сбой
QuerySet.prefetch_related()при извлечении отношений во вложенных объектахPrefetch(#27554).Предотвращено скрытие ошибок GDAL, если он не установлен при использовании contrib.gis (#28160). (Это обязательная зависимость начиная с Django 1.11.)
Исправлена регрессионная ошибка, приводившая к сбою поиска
__inпо внешнему ключу при использовании родительской модели внешнего ключа в качестве значения поиска (#28175).