Примечания к выпуску 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). - Исправлена ошибка при использовании двойного кортежа в аргументе
EmailMessage
attachments
(#28042). - Исправлено падение
QuerySet.filter()
, когда он ссылается на имяOneToOneField
первичного ключа (#28047). - Исправлено появление пустой таблицы данных POST вместо «Нет данных POST» на странице отладки HTML (#28079).
- Восстановлено
BoundField
s без каких-либо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_Oracle
6.0 (#28138). - Обновлено
contrib.postgres
SplitArrayWidget
для использования рендеринга виджетов на основе шаблонов (#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).