Примечания к выпуску 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 ). - Исправлен сбой миграции при изменении
ManyToManyField
s ( # 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
/ column при изменении полей баз данных MySQL ( # 24595 ).not null
- Исправлен путь JavaScript к
contrib.admin
виджету связанного поля при использовании альтернативных хранилищ статических файлов ( # 24655 ). - Исправлен сбой миграции при добавлении новых отношений к моделям ( # 24573 ).
- Исправлен сбой миграции при применении миграций с менеджерами моделей на Python 3, которые были созданы на Python 2 ( # 24701 ).
- Восстановлена возможность использования итераторов в качестве аргументов фильтра набора запросов ( # 24719 ).
- Исправлен сбой миграции при переименовании целевой модели отношения «многие ко многим» ( # 24725 ).
- Удалена очистка тестовой базы данных с помощью , из-за которой приложения с миграциями данных не могли использовать эту опцию ( # 24729 ).
test --keepdb
- Исправлен
makemessages
сбой в некоторых локалях ( # 23271 ). - Исправлено расположение текста справки в
contrib.admin
полях, в которых используются параметрыModelAdmin.filter_horizontal
иfilter_vertical
( # 24676 ). - Исправлена ошибка при инициализации в Windows.
AttributeError: function 'GDALAllRegister' not found
contrib.gis
Оптимизация ¶
- Изменено
ModelState
на поля глубокого копирования вместо деконструкции и реконструкции ( # 24591 ). Это ускоряет рендеринг состояний модели и снижает использование памяти во время работы (хотя другие изменения в этом выпуске могут свести на нет любые преимущества в производительности).manage.py migrate