195 lines
7.6 KiB
Plaintext
195 lines
7.6 KiB
Plaintext
==========================
|
|
Django 1.7.2 release notes
|
|
==========================
|
|
|
|
*January 2, 2015*
|
|
|
|
Django 1.7.2 fixes several bugs in 1.7.1.
|
|
|
|
Additionally, Django's vendored version of six, :mod:`django.utils.six`, has
|
|
been upgraded to the latest release (1.9.0).
|
|
|
|
Bugfixes
|
|
========
|
|
|
|
* Fixed migration's renaming of auto-created many-to-many tables when changing
|
|
:attr:`Meta.db_table <django.db.models.Options.db_table>` (:ticket:`23630`).
|
|
|
|
* Fixed a migration crash when adding an explicit ``id`` field to a model on
|
|
SQLite (:ticket:`23702`).
|
|
|
|
* Added a warning for duplicate models when a module is reloaded. Previously a
|
|
``RuntimeError`` was raised every time two models clashed in the app registry.
|
|
(:ticket:`23621`).
|
|
|
|
* Prevented :djadmin:`flush` from loading initial data for migrated apps
|
|
(:ticket:`23699`).
|
|
|
|
* Fixed a :djadmin:`makemessages` regression in 1.7.1 when
|
|
:setting:`STATIC_ROOT` has the default ``None`` value (:ticket:`23717`).
|
|
|
|
* Added GeoDjango compatibility with mysqlclient database driver.
|
|
|
|
* Fixed MySQL 5.6+ crash with ``GeometryField``\s in migrations
|
|
(:ticket:`23719`).
|
|
|
|
* Fixed a migration crash when removing a field that is referenced in
|
|
``AlterIndexTogether`` or ``AlterUniqueTogether`` (:ticket:`23614`).
|
|
|
|
* Updated the first day of the week in the Ukrainian locale to Monday.
|
|
|
|
* Added support for transactional spatial metadata initialization on
|
|
SpatiaLite 4.1+ (:ticket:`23152`).
|
|
|
|
* Fixed a migration crash that prevented changing a nullable field with a
|
|
default to non-nullable with the same default (:ticket:`23738`).
|
|
|
|
* Fixed a migration crash when adding ``GeometryField``\s with ``blank=True``
|
|
on PostGIS (:ticket:`23731`).
|
|
|
|
* Allowed usage of ``DateTimeField()`` as ``Transform.output_field``
|
|
(:ticket:`23420`).
|
|
|
|
* Fixed a migration serializing bug involving ``float("nan")`` and
|
|
``float("inf")`` (:ticket:`23770`).
|
|
|
|
* Fixed a regression where custom form fields having a ``queryset`` attribute
|
|
but no ``limit_choices_to`` could not be used in a
|
|
:class:`~django.forms.ModelForm` (:ticket:`23795`).
|
|
|
|
* Fixed a custom field type validation error with MySQL backend when
|
|
``db_type`` returned ``None`` (:ticket:`23761`).
|
|
|
|
* Fixed a migration crash when a field is renamed that is part of an
|
|
``index_together`` (:ticket:`23859`).
|
|
|
|
* Fixed :djadmin:`squashmigrations` to respect the ``--no-optimize`` parameter
|
|
(:ticket:`23799`).
|
|
|
|
* Made :class:`~django.db.migrations.operations.RenameModel` reversible
|
|
(:ticket:`22248`)
|
|
|
|
* Avoided unnecessary rollbacks of migrations from other apps when migrating
|
|
backwards (:ticket:`23410`).
|
|
|
|
* Fixed a rare query error when using deeply nested subqueries
|
|
(:ticket:`23605`).
|
|
|
|
* Fixed a crash in migrations when deleting a field that is part of a
|
|
``index/unique_together`` constraint (:ticket:`23794`).
|
|
|
|
* Fixed ``django.core.files.File.__repr__()`` when the file's ``name`` contains
|
|
Unicode characters (:ticket:`23888`).
|
|
|
|
* Added missing context to the admin's ``delete_selected`` view that prevented
|
|
custom site header, etc. from appearing (:ticket:`23898`).
|
|
|
|
* Fixed a regression with dynamically generated inlines and allowed field
|
|
references in the admin (:ticket:`23754`).
|
|
|
|
* Fixed an infinite loop bug for certain cyclic migration dependencies, and made
|
|
the error message for cyclic dependencies much more helpful.
|
|
|
|
* Added missing ``index_together`` handling for SQLite (:ticket:`23880`).
|
|
|
|
* Fixed a crash when ``RunSQL`` SQL content was collected by the schema editor,
|
|
typically when using ``sqlmigrate`` (:ticket:`23909`).
|
|
|
|
* Fixed a regression in ``contrib.admin`` add/change views which caused some
|
|
``ModelAdmin`` methods to receive the incorrect ``obj`` value
|
|
(:ticket:`23934`).
|
|
|
|
* Fixed ``runserver`` crash when socket error message contained Unicode
|
|
characters (:ticket:`23946`).
|
|
|
|
* Fixed serialization of ``type`` when adding a ``deconstruct()`` method
|
|
(:ticket:`23950`).
|
|
|
|
* Prevented the
|
|
:class:`~django.contrib.auth.middleware.SessionAuthenticationMiddleware` from
|
|
setting a ``"Vary: Cookie"`` header on all responses (:ticket:`23939`).
|
|
|
|
* Fixed a crash when adding ``blank=True`` to ``TextField()`` on MySQL
|
|
(:ticket:`23920`).
|
|
|
|
* Fixed index creation by the migration infrastructure, particularly when
|
|
dealing with PostgreSQL specific ``{text|varchar}_pattern_ops`` indexes
|
|
(:ticket:`23954`).
|
|
|
|
* Fixed bug in ``makemigrations`` that created broken migration files when
|
|
dealing with multiple table inheritance and inheriting from more than one
|
|
model (:ticket:`23956`).
|
|
|
|
* Fixed a crash when a ``MultiValueField`` has invalid data (:ticket:`23674`).
|
|
|
|
* Fixed a crash in the admin when using "Save as new" and also deleting a
|
|
related inline (:ticket:`23857`).
|
|
|
|
* Always converted ``related_name`` to text (unicode), since that is required
|
|
on Python 3 for interpolation. Removed conversion of ``related_name`` to text
|
|
in migration deconstruction (:ticket:`23455` and :ticket:`23982`).
|
|
|
|
* Enlarged the sizes of tablespaces which are created by default for testing
|
|
on Oracle (the main tablespace was increased from 200M to 300M and the
|
|
temporary tablespace from 100M to 150M). This was required to accommodate
|
|
growth in Django's own test suite (:ticket:`23969`).
|
|
|
|
* Fixed ``timesince`` filter translations in Korean (:ticket:`23989`).
|
|
|
|
* Fixed the SQLite ``SchemaEditor`` to properly add defaults in the absence of
|
|
a user specified ``default``. For example, a ``CharField`` with ``blank=True``
|
|
didn't set existing rows to an empty string which resulted in a crash when
|
|
adding the ``NOT NULL`` constraint (:ticket:`23987`).
|
|
|
|
* ``makemigrations`` no longer prompts for a default value when adding
|
|
``TextField()`` or ``CharField()`` without a ``default`` (:ticket:`23405`).
|
|
|
|
* Fixed a migration crash when adding ``order_with_respect_to`` to a table
|
|
with existing rows (:ticket:`23983`).
|
|
|
|
* Restored the ``pre_migrate`` signal if all apps have migrations
|
|
(:ticket:`23975`).
|
|
|
|
* Made admin system checks run for custom ``AdminSite``\s (:ticket:`23497`).
|
|
|
|
* Ensured the app registry is fully populated when unpickling models. When an
|
|
external script (like a queueing infrastructure) reloads pickled models, it
|
|
could crash with an ``AppRegistryNotReady`` exception (:ticket:`24007`).
|
|
|
|
* Added quoting to field indexes in the SQL generated by migrations to prevent
|
|
a crash when the index name requires it (:ticket:`#24015`).
|
|
|
|
* Added ``datetime.time`` support to migrations questioner (:ticket:`23998`).
|
|
|
|
* Fixed admindocs crash on apps installed as eggs (:ticket:`23525`).
|
|
|
|
* Changed migrations autodetector to generate an ``AlterModelOptions`` operation
|
|
instead of ``DeleteModel`` and ``CreateModel`` operations when changing
|
|
``Meta.managed``. This prevents data loss when changing ``managed`` from
|
|
``False`` to ``True`` and vice versa (:ticket:`24037`).
|
|
|
|
* Enabled the ``sqlsequencereset`` command on apps with migrations
|
|
(:ticket:`24054`).
|
|
|
|
* Added tablespace SQL to apps with migrations (:ticket:`24051`).
|
|
|
|
* Corrected ``contrib.sites`` default site creation in a multiple database
|
|
setup (:ticket:`24000`).
|
|
|
|
* Restored support for objects that aren't :class:`str` or :class:`bytes` in
|
|
:func:`~django.utils.safestring.mark_for_escaping` on Python 3.
|
|
|
|
* Supported strings escaped by third-party libraries with the ``__html__``
|
|
convention in the template engine (:ticket:`23831`).
|
|
|
|
* Prevented extraneous ``DROP DEFAULT`` SQL in migrations (:ticket:`23581`).
|
|
|
|
* Restored the ability to use more than five levels of subqueries
|
|
(:ticket:`23758`).
|
|
|
|
* Fixed crash when ``ValidationError`` is initialized with a ``ValidationError``
|
|
that is initialized with a dictionary (:ticket:`24008`).
|
|
|
|
* Prevented a crash on apps without migrations when running ``migrate --list``
|
|
(:ticket:`23366`).
|