Примечания к выпуску Django 1.7.1¶
22 октября 2014 г.
Django 1.7.1 исправляет несколько ошибок версии 1.7.
Исправления¶
Разрешены ссылки на связанные поля «многие-ко-многим» в администраторе (#23604).
Добавлено более полезное сообщение об ошибке, если вы пытаетесь перенести приложение без предварительного создания таблицы
contenttypes(#22411).Изменен алгоритм зависимости миграций, чтобы избежать возможной бесконечной рекурсии.
Исправлена ошибка
UnicodeDecodeError, когда сообщение об ошибкеflushсодержало символы Юникода (#22882).Восстановлены отсутствующие предложения SQL
CHECK, которые были пропущены на некоторых бэкэндах, когда не использовались миграции (#23416).Исправлена сериализация объектов типа в миграциях (#22951).
Разрешены встроенные и скрытые ссылки на поля администратора (#23431).
Декоратор @deconstructible теперь завершается с ошибкой ValueError, если декорированный объект не может быть импортирован автоматически (#23418).
Исправлена опечатка в сообщении об ошибке
inlineformset_factory(), приводившая к сбою (#23451).Восстановлена возможность использования
ABSOLUTE_URL_OVERRIDESс моделью'auth.User'(#11775). В качестве побочного эффекта эта настройка теперь добавляет метод get_absolute_url() к любой модели, которая появляется в ABSOLUTE_URL_OVERRIDES, но не определяет get_absolute_url().Удалена маскировка некоторых исключений ImportError во время загрузки приложения (#22920).
Пустые параметры модели index_together или unique_together больше не приводят к бесконечной миграции (#23452).
Исправлен сбой в contrib.sitemaps, если Lastmod возвращал дату, а не дату и время (:ticket:23403).
Разрешена миграциям для работы с
app_label, которые имеют одинаковую последнюю часть (например,django.contrib.authиvendor.auth) (#23483).Восстановлена возможность глубокого копирования объектов
F(#23492).Добавлены форматы для валлийского («cy») и нескольких китайских локалей («zh_CN», «zh_Hans», «zh_Hant» и «zh_TW»). Исправлены форматы македонского языка (удалена точка в конце, #23532).
Добавлено цитирование имен ограничений в SQL, созданное при миграции, чтобы предотвратить сбой при использовании символов верхнего регистра в имени (#23065).
Исправлено переименование моделей с самоссылающимся полем «многие-ко-многим» (
ManyToManyField('self')) (#23503).Добавлены хуки
get_extra(),get_max_num()иget_min_num()дляGenericInlineModelAdmin(#23539).Сделано, чтобы
migrations.RunSQLбольше не требовал экранирования знака процента. Теперь это соответствуетcursor.execute()(#23426).Исправлена ошибка при миграции, которая не позволяла использовать ограничения внешнего ключа для неуправляемых моделей с настраиваемым первичным ключом (#23415).
Добавлен
SchemaEditorдля MySQL GIS-сервера, чтобы для приложений с миграциями создавались пространственные индексы (#23538).Добавлен
SchemaEditorдля серверной части Oracle GIS, чтобы для приложений с миграциями создавались пространственные метаданные и индексы (#23537).Опция поля модели «связанное_имя» принудительно привязана к Unicode во время создания миграции, чтобы генерировать миграции, которые работают как с Python 2, так и с Python 3 (#23455).
Исправлен
MigrationWriterдля обработки встроенных типов без импорта (#23560).Исправлена ``глубокая копия`` в
ErrorList(#23594).Сделано представление
admindocsдля просмотра деталей представления и проверки, существует ли представление, указанное в URL-адресе, в URLconf. Раньше можно было импортировать произвольные пакеты из пути Python. Это не было сочтено проблемой безопасности, посколькуadmindocsдоступен только штатным пользователям (#23601).Исправлен сбой UnicodeDecodeError в AdminEmailHandler с символами, отличными от ASCII, в запросе (#23593).
Исправлено отсутствие
get_or_createиupdate_or_createв связанных менеджерах, вызывающееIntegrityError(#23611).Сделано
urlsafe_base64_decode()возвращающим правильный тип (байтовую строку) на Python 3 (#23333).makemigrationsтеперь может сериализовать значения с учетом часового пояса (#23365).Добавлен запрос в вопросник по миграции при удалении нулевого ограничения из поля, чтобы предотвратить ошибку IntegrityError в существующих строках NULL (#23609).
Исправлены общие отношения в ModelAdmin.list_filter (#23616).
Восстановлено соответствие RFC для серверной части SMTP на Python 3 (#23063).
Исправлен сбой при анализе файлов cookie, содержащих недопустимый контент (#23638).
Система проверки системы теперь выдает ошибку models.E020, когда метод класса Model.check() недоступен (#23615).
Созданная тестовая база данных Oracle теперь удаляет тестового пользователя в случае некорректного завершения предыдущего тестового запуска (#23649).
Исправлена ошибка, из-за которой
makemigrationsобнаруживал изменения вMeta.db_table(#23629).Исправлена регрессия при передаче тестовому клиенту Django пустой строки данных (#21740).
Исправлена регрессия в
makemessages, из-за которой статические файлы неожиданно игнорировались (#23583).