Примечания к выпуску Django 1.8.1

1 мая 2015

Django 1.8.1 исправляет несколько ошибок в 1.8 и включает некоторые оптимизации во фреймворке миграций.

Исправления

  • Добавлена поддержка сериализации timedelta объектов в миграциях (#24566).
  • Восстановлен правильный разбор позиционных аргументов (имен приспособлений) команды testserver (#24571).
  • Предотвращение TypeError в функциях перевода check_for_language() и get_language_bidi(), когда переводы деактивированы (#24569).
  • Исправлена команда squashmigrations при использовании SeparateDatabaseAndState (#24278).
  • Удалены микросекунды из значений datetime при использовании старой версии драйвера MySQLdb DB API, так как он не поддерживает дробные секунды (#24584).
  • Исправлен сбой миграции при изменении ManyToManyFields (#24513).
  • Исправлен сбой при QuerySet.update() на внешних ключах к полям один-к-одному (#24578).
  • Исправлена регрессия в представлении детализации модели admindocs, когда модель имеет обратное отношение внешнего ключа (#24624).
  • Предотвращение произвольного включения файлов в admindocs (#24625).
  • Исправлен сбой при QuerySet.update() на внешних ключах к экземплярам с uuid первичными ключами (#24611).
  • Исправлена интроспекция базы данных с SQLite 3.8.9 (выпущена 8 апреля 2015 года) (#24637).
  • Обновлены примеры urlpatterns, созданные startproject, чтобы убрать использование ссылки на представления по точечному пути в django.conf.urls.url(), которая устарела в Django 1.8 (#24635).
  • Исправлены запросы, в которых выражение ссылалось в order_by(), но не являлось частью условия select. Пример запроса: qs.annotate(foo=F('field')).values('pk').order_by('foo')) (#24615).
  • Исправлена регрессия цитирования имени таблицы базы данных (#24605).
  • Предотвращена потеря свойств столбцов null/not null при изменении полей в базах данных MySQL (#24595).
  • Исправлен JavaScript путь виджета связанных полей contrib.admin при использовании альтернативных статических хранилищ файлов (#24655).
  • Исправлен сбой миграции при добавлении новых отношений в модели (#24573).
  • Исправлен сбой миграции при применении миграций с менеджерами моделей на Python 3, которые были созданы на Python 2 (#24701).
  • Восстановлена возможность использования итераторов в качестве аргументов фильтра queryset (#24719).
  • Исправлена ошибка миграции при переименовании целевой модели отношения «многие ко многим» (#24725).
  • Удалена промывка тестовой базы данных с помощью test --keepdb, которая не позволяла приложениям с миграцией данных использовать эту опцию (#24729).
  • Исправлена ошибка makemessages в некоторых локалях (#23271).
  • Исправлено позиционирование текста справки для полей contrib.admin, использующих опции ModelAdmin.filter_horizontal и filter_vertical (#24676).
  • Исправлена ошибка AttributeError: function 'GDALAllRegister' not found при инициализации contrib.gis в Windows.

Оптимизации

  • Изменено ModelState для глубокого копирования полей вместо деконструкции и реконструкции (#24591). Это ускоряет рендеринг состояний модели и уменьшает использование памяти при выполнении manage.py migrate (хотя другие изменения в этом выпуске могут свести на нет все преимущества производительности).
Вернуться на верх