==========================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 firstcreating the ``contenttypes`` table (:ticket:`22411`).* Modified migrations dependency algorithm to avoid possible infinite recursion.* Fixed a ``UnicodeDecodeError`` when the ``flush`` error message containedUnicode characters (:ticket:`22882`).* Reinstated missing ``CHECK`` SQL clauses which were omitted on some backendswhen 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 thedecorated object cannot automatically be imported (:ticket:`23418`).* Fixed a typo in an ``inlineformset_factory()`` error message that caused acrash (:ticket:`23451`).* Restored the ability to use :setting:`ABSOLUTE_URL_OVERRIDES` with the``'auth.User'`` model (:ticket:`11775`). As a side effect, the setting nowadds 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 longerresults in infinite migrations (:ticket:`23452`).* Fixed crash in ``contrib.sitemaps`` if ``lastmod`` returned a ``date`` ratherthan a ``datetime`` (:ticket:`23403`).* Allowed migrations to work with ``app_label``\s that have the same lastpart (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 forMacedonian have been fixed (trailing dot removed, :ticket:`23532`).* Added quoting of constraint names in the SQL generated by migrations toprevent 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 isnow 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 unmanagedmodels with a custom primary key (:ticket:`23415`).* Added ``SchemaEditor`` for MySQL GIS backend so that spatial indexes will becreated for apps with migrations (:ticket:`23538`).* Added ``SchemaEditor`` for Oracle GIS backend so that spatial metadata andindexes will be created for apps with migrations (:ticket:`23537`).* Coerced the ``related_name`` model field option to Unicode during migrationgeneration 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 checkif the view specified in the URL exists in the URLconf. Previously it waspossible to import arbitrary packages from the Python path. This was notconsidered a security issue because ``admindocs`` is only accessible to staffusers (:ticket:`23601`).* Fixed ``UnicodeDecodeError`` crash in ``AdminEmailHandler`` with non-ASCIIcharacters in the request (:ticket:`23593`).* Fixed missing ``get_or_create`` and ``update_or_create`` on related managerscausing ``IntegrityError`` (:ticket:`23611`).* Made :func:`~django.utils.http.urlsafe_base64_decode` return the propertype (bytestring) 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 constraintfrom 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 theclass method ``Model.check()`` is unreachable (:ticket:`23615`).* Made the Oracle test database creation drop the test user in the event of anunclean 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 datastring (:ticket:`21740`).* Fixed a regression in :djadmin:`makemessages` where static files wereunexpectedly ignored (:ticket:`23583`).