Примечания к выпуску 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).
Вернуться на верх