Примечания к выпуску 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).
  • Восстановлено 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_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).
Вернуться на верх