Примечания к выпуску Django 1.7.1¶
Октябрь 22, 2014
Django 1.7.1 исправляет несколько ошибок в версии 1.7.
Исправления¶
- Разрешено ссылаться на связанные поля «многие ко многим» в админке (#23604).
- Добавлено более полезное сообщение об ошибке при попытке миграции приложения без предварительного создания таблицы contenttypes(#22411).
- Изменен алгоритм зависимости миграций, чтобы избежать возможной бесконечной рекурсии.
- Исправлена ошибка UnicodeDecodeError, когда сообщение об ошибкеflushсодержало символы Юникода (#22882).
- Восстановлены отсутствующие CHECKSQL-клаузулы, которые были пропущены в некоторых бэкендах, когда не использовались миграции (#23416).
- Исправлена сериализация объектов typeв миграциях (#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возвращалоdate, а неdatetime(#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).
- Сделал запись SERIALIZEв словареTESTпригодной для использования (#23421).
- Исправлена ошибка в миграциях, которая предотвращала ограничения внешнего ключа для неуправляемых моделей с пользовательским первичным ключом (#23415).
- Добавлено SchemaEditorдля бэкенда MySQL GIS, чтобы пространственные индексы создавались для приложений с миграциями (#23538).
- Добавлено SchemaEditorдля бэкенда Oracle GIS, чтобы пространственные метаданные и индексы были созданы для приложений с миграциями (#23537).
- Принудительное приведение опции поля модели related_nameк Unicode во время генерации миграций для создания миграций, работающих как с Python 2, так и с 3 (#23455).
- Исправлено MigrationWriterдля обработки встроенных типов без импорта (#23560).
- Исправлено deepcopyнаErrorList(#23594).
- Заставило представление admindocsдля просмотра подробностей представления проверять, существует ли представление, указанное в URL, в URLconf. Ранее можно было импортировать произвольные пакеты из пути Python. Это не считалось проблемой безопасности, посколькуadmindocsдоступен только штатным пользователям (#23601).
- Исправлено падение UnicodeDecodeErrorвAdminEmailHandlerпри наличии в запросе символов, отличных от символов ASCII (#23593).
- Исправлены отсутствующие get_or_createиupdate_or_createна связанных менеджерах, вызывающиеIntegrityError(#23611).
- Заставил urlsafe_base64_decode()возвращать правильный тип (bytestring) на Python 3 (#23333).
- makemigrationsтеперь может сериализовать значения с учетом временной зоны (#23365).
- Добавлена подсказка в вопросник миграций при снятии ограничения null с поля для предотвращения 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).