Примечания к выпуску Django 1.7.1¶
Октябрь 22, 2014
Django 1.7.1 исправляет несколько ошибок в версии 1.7.
Исправления¶
- Разрешено ссылаться на связанные поля «многие ко многим» в админке (#23604).
- Добавлено более полезное сообщение об ошибке при попытке миграции приложения без предварительного создания таблицы
contenttypes
(#22411). - Изменен алгоритм зависимости миграций, чтобы избежать возможной бесконечной рекурсии.
- Исправлена ошибка
UnicodeDecodeError
, когда сообщение об ошибкеflush
содержало символы Юникода (#22882). - Восстановлены отсутствующие
CHECK
SQL-клаузулы, которые были пропущены в некоторых бэкендах, когда не использовались миграции (#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).