138 lines
5.5 KiB
Plaintext
138 lines
5.5 KiB
Plaintext
==========================
|
|
Django 1.7.1 release notes
|
|
==========================
|
|
|
|
*October 22, 2014*
|
|
|
|
Django 1.7.1 fixes several bugs in 1.7.
|
|
|
|
Bugfixes
|
|
========
|
|
|
|
* Allowed related many-to-many fields to be referenced in the admin
|
|
(:ticket:`23604`).
|
|
|
|
* Added a more helpful error message if you try to migrate an app without first
|
|
creating the ``contenttypes`` table (:ticket:`22411`).
|
|
|
|
* Modified migrations dependency algorithm to avoid possible infinite recursion.
|
|
|
|
* Fixed a ``UnicodeDecodeError`` when the ``flush`` error message contained
|
|
Unicode characters (:ticket:`22882`).
|
|
|
|
* Reinstated missing ``CHECK`` SQL clauses which were omitted on some backends
|
|
when not using migrations (:ticket:`23416`).
|
|
|
|
* Fixed serialization of ``type`` objects in migrations (:ticket:`22951`).
|
|
|
|
* Allowed inline and hidden references to admin fields (:ticket:`23431`).
|
|
|
|
* The ``@deconstructible`` decorator now fails with a ``ValueError`` if the
|
|
decorated object cannot automatically be imported (:ticket:`23418`).
|
|
|
|
* Fixed a typo in an ``inlineformset_factory()`` error message that caused a
|
|
crash (:ticket:`23451`).
|
|
|
|
* Restored the ability to use :setting:`ABSOLUTE_URL_OVERRIDES` with the
|
|
``'auth.User'`` model (:ticket:`11775`). As a side effect, the setting now
|
|
adds a ``get_absolute_url()`` method to any model that appears in
|
|
``ABSOLUTE_URL_OVERRIDES`` but doesn't define ``get_absolute_url()``.
|
|
|
|
* Avoided masking some `ImportError` exceptions during application loading
|
|
(:ticket:`22920`).
|
|
|
|
* Empty ``index_together`` or ``unique_together`` model options no longer
|
|
results in infinite migrations (:ticket:`23452`).
|
|
|
|
* Fixed crash in ``contrib.sitemaps`` if ``lastmod`` returned a ``date`` rather
|
|
than a ``datetime`` (:ticket:`23403`).
|
|
|
|
* Allowed migrations to work with ``app_label``\s that have the same last
|
|
part (e.g. ``django.contrib.auth`` and ``vendor.auth``) (:ticket:`23483`).
|
|
|
|
* Restored the ability to deepcopy ``F`` objects (:ticket:`23492`).
|
|
|
|
* Formats for Welsh (``cy``) and several Chinese locales (``zh_CN``,
|
|
``zh_Hans``, ``zh_Hant`` and ``zh_TW``) have been added. Formats for
|
|
Macedonian have been fixed (trailing dot removed, :ticket:`23532`).
|
|
|
|
* Added quoting of constraint names in the SQL generated by migrations to
|
|
prevent crash with uppercase characters in the name (:ticket:`23065`).
|
|
|
|
* Fixed renaming of models with a self-referential many-to-many field
|
|
(``ManyToManyField('self')``) (:ticket:`23503`).
|
|
|
|
* Added the :meth:`~django.contrib.admin.InlineModelAdmin.get_extra()`,
|
|
:meth:`~django.contrib.admin.InlineModelAdmin.get_max_num()`, and
|
|
:meth:`~django.contrib.admin.InlineModelAdmin.get_min_num()` hooks to
|
|
:class:`~django.contrib.contenttypes.admin.GenericInlineModelAdmin`
|
|
(:ticket:`23539`).
|
|
|
|
* Made ``migrations.RunSQL`` no longer require percent sign escaping. This is
|
|
now consistent with ``cursor.execute()`` (:ticket:`23426`).
|
|
|
|
* Made the :setting:`SERIALIZE <TEST_SERIALIZE>` entry in the
|
|
:setting:`TEST <DATABASE-TEST>` dictionary usable (:ticket:`23421`).
|
|
|
|
* Fixed bug in migrations that prevented foreign key constraints to unmanaged
|
|
models with a custom primary key (:ticket:`23415`).
|
|
|
|
* Added ``SchemaEditor`` for MySQL GIS backend so that spatial indexes will be
|
|
created for apps with migrations (:ticket:`23538`).
|
|
|
|
* Added ``SchemaEditor`` for Oracle GIS backend so that spatial metadata and
|
|
indexes will be created for apps with migrations (:ticket:`23537`).
|
|
|
|
* Coerced the ``related_name`` model field option to unicode during migration
|
|
generation to generate migrations that work with both Python 2 and 3
|
|
(:ticket:`23455`).
|
|
|
|
* Fixed ``MigrationWriter`` to handle builtin types without imports
|
|
(:ticket:`23560`).
|
|
|
|
* Fixed ``deepcopy`` on ``ErrorList`` (:ticket:`23594`).
|
|
|
|
* Made the :mod:`~django.contrib.admindocs` view to browse view details check
|
|
if the view specified in the URL exists in the URLconf. Previously it was
|
|
possible to import arbitrary packages from the Python path. This was not
|
|
considered a security issue because ``admindocs`` is only accessible to staff
|
|
users (:ticket:`23601`).
|
|
|
|
* Fixed ``UnicodeDecodeError`` crash in ``AdminEmailHandler`` with non-ASCII
|
|
characters in the request (:ticket:`23593`).
|
|
|
|
* Fixed missing ``get_or_create`` and ``update_or_create`` on related managers
|
|
causing ``IntegrityError`` (:ticket:`23611`).
|
|
|
|
* Made :func:`~django.utils.http.urlsafe_base64_decode` return the proper
|
|
type (byte string) on Python 3 (:ticket:`23333`).
|
|
|
|
* :djadmin:`makemigrations` can now serialize timezone-aware values
|
|
(:ticket:`23365`).
|
|
|
|
* Added a prompt to the migrations questioner when removing the null constraint
|
|
from a field to prevent an IntegrityError on existing NULL rows
|
|
(:ticket:`23609`).
|
|
|
|
* Fixed generic relations in ``ModelAdmin.list_filter`` (:ticket:`23616`).
|
|
|
|
* Restored RFC compliance for the SMTP backend on Python 3 (:ticket:`23063`).
|
|
|
|
* Fixed a crash while parsing cookies containing invalid content
|
|
(:ticket:`23638`).
|
|
|
|
* The system check framework now raises error **models.E020** when the
|
|
class method ``Model.check()`` is unreachable (:ticket:`23615`).
|
|
|
|
* Made the Oracle test database creation drop the test user in the event of an
|
|
unclean exit of a previous test run (:ticket:`23649`).
|
|
|
|
* Fixed :djadmin:`makemigrations` to detect changes to
|
|
:attr:`Meta.db_table <django.db.models.Options.db_table>` (:ticket:`23629`).
|
|
|
|
* Fixed a regression when feeding the Django test client with an empty data
|
|
string (:ticket:`21740`).
|
|
|
|
* Fixed a regression in :djadmin:`makemessages` where static files were
|
|
unexpectedly ignored (:ticket:`23583`).
|