Примечания к выпуску Django 1.7.2

2 января 2015

Django 1.7.2 исправляет несколько ошибок в 1.7.1.

Кроме того, шестая версия Django, django.utils.six, была обновлена до последней версии (1.9.0).

Исправления

  • Исправлено переименование в миграции автоматически создаваемых таблиц «многие-ко-многим» при изменении Meta.db_table (#23630).
  • Исправлена ошибка миграции при добавлении явного поля id в модель на SQLite (#23702).
  • Добавлено предупреждение о дублировании моделей при перезагрузке модуля. Ранее при столкновении двух моделей в реестре приложений возникало предупреждение RuntimeError. (#23621).
  • Предотвращение загрузки начальных данных flush для перенесенных приложений (#23699).
  • Исправлена регрессия makemessages в 1.7.1, когда STATIC_ROOT имеет значение по умолчанию None (#23717).
  • Добавлена совместимость GeoDjango с драйвером базы данных mysqlclient.
  • Исправлена ошибка MySQL 5.6+ при использовании GeometryFields в миграциях (#23719).
  • Исправлен сбой миграции при удалении поля, на которое есть ссылка в AlterIndexTogether или AlterUniqueTogether (#23614).
  • Обновлен первый день недели в украинской локали на понедельник.
  • Добавлена поддержка транзакционной инициализации пространственных метаданных на SpatiaLite 4.1+ (#23152).
  • Исправлена ошибка миграции, которая не позволяла изменить nullable поле с значением по умолчанию на non-nullable с тем же значением по умолчанию (#23738).
  • Исправлена ошибка миграции при добавлении GeometryFields с blank=True на PostGIS (#23731).
  • Разрешено использование DateTimeField() в качестве Transform.output_field (#23420).
  • Исправлена ошибка сериализации миграции, связанная с float("nan") и float("inf") (#23770).
  • Исправлена ошибка, при которой поля пользовательской формы, имеющие атрибут queryset, но не имеющие limit_choices_to, не могли быть использованы в ModelForm (#23795).
  • Исправлена ошибка проверки типа пользовательского поля с бэкендом MySQL, когда db_type возвращало None (#23761).
  • Исправлен сбой миграции при переименовании поля, которое является частью index_together (#23859).
  • Исправлено squashmigrations для соблюдения параметра --no-optimize (#23799).
  • Сделан RenameModel двусторонним (#22248)
  • Предотвращение ненужных откатов миграций из других приложений при миграции назад (#23410).
  • Исправлена редкая ошибка запроса при использовании глубоко вложенных подзапросов (#23605).
  • Исправлен сбой в миграциях при удалении поля, которое является частью ограничения index/unique_together (#23794).
  • Исправлено django.core.files.File.__repr__(), когда name файла содержит символы Юникода (#23888).
  • Добавлен недостающий контекст в представление администратора delete_selected, который предотвращал появление пользовательского заголовка сайта и т.д. (#23898).
  • Исправлена регрессия с динамически генерируемыми инлайнами и разрешенными ссылками на поля в админке (#23754).
  • Исправлена ошибка бесконечного цикла для некоторых циклических зависимостей миграции, а сообщение об ошибке для циклических зависимостей стало более полезным.
  • Добавлена недостающая обработка index_together для SQLite (#23880).
  • Исправлена ошибка, когда редактор схем собирал содержимое SQL RunSQL, обычно при использовании sqlmigrate (#23909).
  • Исправлена регрессия в представлениях contrib.admin добавления/изменения, из-за которой некоторые методы ModelAdmin получали неверное значение obj (#23934).
  • Исправлено падение runserver, когда сообщение об ошибке сокета содержало символы Юникода (#23946).
  • Исправлена сериализация type при добавлении метода deconstruct() (#23950).
  • Запрещает django.contrib.auth.middleware.SessionAuthenticationMiddleware устанавливать заголовок "Vary: Cookie" во всех ответах (#23939).
  • Исправлена ошибка при добавлении blank=True к TextField() на MySQL (#23920).
  • Исправлено создание индексов инфраструктурой миграции, особенно при работе со специфическими для PostgreSQL индексами {text|varchar}_pattern_ops (#23954).
  • Исправлена ошибка в makemigrations, которая создавала неработающие файлы миграции при работе с множественным наследованием таблиц и наследованием от более чем одной модели (#23956).
  • Исправлена ошибка, когда MultiValueField имеет недопустимые данные (#23674).
  • Исправлен сбой в админке при использовании функции «Сохранить как новый», а также при удалении связанной строки (#23857).
  • Всегда преобразовывал related_name в текст (Unicode), поскольку это требуется в Python 3 для интерполяции. Удалено преобразование related_name в текст в деконструкции миграции (#23455 и #23982).
  • Увеличены размеры табличных пространств, создаваемых по умолчанию для тестирования на Oracle (основное табличное пространство было увеличено с 200M до 300M, а временное - со 100M до 150M). Это было необходимо для того, чтобы учесть рост собственного набора тестов Django (#23969).
  • Исправлен перевод фильтра timesince в корейском языке (#23989).
  • Исправлена работа SQLite SchemaEditor для правильного добавления значений по умолчанию при отсутствии указанного пользователем default. Например, CharField с blank=True не устанавливал существующие строки в пустую строку, что приводило к сбою при добавлении ограничения NOT NULL (#23987).
  • makemigrations больше не запрашивает значение по умолчанию при добавлении TextField() или CharField() без default (#23405).
  • Исправлен сбой миграции при добавлении order_with_respect_to в таблицу с существующими строками (#23983).
  • Восстановлен сигнал pre_migrate, если все приложения имеют миграции (#23975).
  • Сделана проверка системы администрирования для пользовательских AdminSites (#23497).
  • Обеспечение полного заполнения реестра приложений при распикировке моделей. Когда внешний скрипт (например, инфраструктура очередей) перезагружает распакованные модели, он может завершиться с исключением AppRegistryNotReady (#24007).
  • Добавлены кавычки для индексов полей в SQL, генерируемом миграциями, для предотвращения сбоя, когда имя индекса требует этого (#24015).
  • Добавлена поддержка datetime.time в вопросник миграций (#23998).
  • Исправлено падение admindocs на приложениях, установленных как яйца (#23525).
  • Изменен автоопределитель миграций для генерации операции AlterModelOptions вместо операций DeleteModel и CreateModel при изменении Meta.managed. Это предотвращает потерю данных при изменении managed с False на True и наоборот (#24037).
  • Включена команда sqlsequencereset на приложениях с миграциями (#24054).
  • Добавлено табличное пространство SQL для приложений с миграциями (#24051).
  • Исправлено contrib.sites создание сайта по умолчанию при установке нескольких баз данных (#24000).
  • Восстановлена поддержка объектов, которые не являются str или bytes в django.utils.safestring.mark_for_escaping() на Python 3.
  • Поддерживаются строки, экранированные сторонними библиотеками с использованием соглашения __html__ в шаблонизаторе (#23831).
  • Предотвращение лишних DROP DEFAULT SQL в миграциях (#23581).
  • Восстановлена возможность использования более пяти уровней подзапросов (#23758).
  • Исправлено падение, когда ValidationError инициализируется ValidationError, который инициализируется словарем (#24008).
  • Предотвращение сбоя в приложениях без миграций при выполнении migrate --list (#23366).
Вернуться на верх