{"title":"Django 1.9.1 release notes","version":"dev","locale":"en","docname":"releases/1.9.1","url":"/en/dev/releases/1.9.1/","canonical":"https://djangodocs.dev/en/dev/releases/1.9.1/","summary":"Django 1.9.1 fixes several bugs in 1.9. Fixed BaseCache.get_or_set() with the DummyCache backend (#25840).","html":"<h1>Django 1.9.1 release notes<a class=\"heading-anchor\" href=\"#django-1-9-1-release-notes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><em>January 2, 2016</em></p>\n<p>Django 1.9.1 fixes several bugs in 1.9.</p>\n<section id=\"bugfixes\">\n<h2>Bugfixes<a class=\"heading-anchor\" href=\"#bugfixes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p>Fixed <code class=\"docutils literal notranslate\">BaseCache.get_or_set()</code> with the <code class=\"docutils literal notranslate\">DummyCache</code> backend\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25840\">#25840</a>).</p></li>\n<li><p>Fixed a regression in <code class=\"docutils literal notranslate\">FormMixin</code> causing forms to be validated twice\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25548\">#25548</a>, <a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/26018\">#26018</a>).</p></li>\n<li><p>Fixed a system check crash with nested <code class=\"docutils literal notranslate\">ArrayField</code>s (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25867\">#25867</a>).</p></li>\n<li><p>Fixed a state bug when migrating a <code class=\"docutils literal notranslate\">SeparateDatabaseAndState</code> operation\nbackwards (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25896\">#25896</a>).</p></li>\n<li><p>Fixed a regression in <code class=\"docutils literal notranslate\">CommonMiddleware</code> causing <code class=\"docutils literal notranslate\">If-None-Match</code> checks\nto always return HTTP 200 (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25900\">#25900</a>).</p></li>\n<li><p>Fixed missing <code class=\"docutils literal notranslate\">varchar/text_pattern_ops</code> index on <code class=\"docutils literal notranslate\">CharField</code> and\n<code class=\"docutils literal notranslate\">TextField</code> respectively when using <code class=\"docutils literal notranslate\">AlterField</code> on PostgreSQL\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25412\">#25412</a>).</p></li>\n<li><p>Fixed admin’s delete confirmation page’s summary counts of related objects\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25883\">#25883</a>).</p></li>\n<li><p>Added <code class=\"docutils literal notranslate\">from __future__ import unicode_literals</code> to the default <code class=\"docutils literal notranslate\">apps.py</code>\ncreated by <code class=\"docutils literal notranslate\">startapp</code> on Python 2 (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25909\">#25909</a>). Add this line to your\nown <code class=\"docutils literal notranslate\">apps.py</code> files created using Django 1.9 if you want your migrations\nto work on both Python 2 and Python 3.</p></li>\n<li><p>Prevented <code class=\"docutils literal notranslate\">QuerySet.delete()</code> from crashing on MySQL when querying across\nrelations (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25882\">#25882</a>).</p></li>\n<li><p>Fixed evaluation of zero-length slices of <code class=\"docutils literal notranslate\">QuerySet.values()</code>\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25894\">#25894</a>).</p></li>\n<li><p>Fixed a state bug when using an <code class=\"docutils literal notranslate\">AlterModelManagers</code> operation\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25852\">#25852</a>).</p></li>\n<li><p>Fixed <code class=\"docutils literal notranslate\">TypedChoiceField</code> change detection with nullable fields\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25942\">#25942</a>).</p></li>\n<li><p>Fixed incorrect timezone warnings in custom admin templates that don’t have\na <code class=\"docutils literal notranslate\">data-admin-utc-offset</code> attribute in the <code class=\"docutils literal notranslate\">body</code> tag.\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25845\">#25845</a>).</p></li>\n<li><p>Fixed a regression which prevented using a language not in Django’s default\nlanguage list (<a class=\"reference internal\" href=\"/en/dev/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a>) (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25915\">#25915</a>).</p></li>\n<li><p>Avoided hiding some exceptions, like an invalid <code class=\"docutils literal notranslate\">INSTALLED_APPS</code> setting,\nbehind <code class=\"docutils literal notranslate\">AppRegistryNotReady</code> when starting <code class=\"docutils literal notranslate\">runserver</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25510\">#25510</a>).\nThis regression appeared in 1.8.5 as a side effect of fixing <a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/24704\">#24704</a>\nand by mistake the fix wasn’t applied to the <code class=\"docutils literal notranslate\">stable/1.9.x</code> branch.</p></li>\n<li><p>Fixed <code class=\"docutils literal notranslate\">migrate --fake-initial</code> detection of many-to-many tables\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25922\">#25922</a>).</p></li>\n<li><p>Restored the functionality of the admin’s <code class=\"docutils literal notranslate\">list_editable</code> add and change\nbuttons (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25903\">#25903</a>).</p></li>\n<li><p>Fixed <code class=\"docutils literal notranslate\">isnull</code> query lookup for <code class=\"docutils literal notranslate\">ForeignObject</code>\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25972\">#25972</a>).</p></li>\n<li><p>Fixed a regression in the admin which ignored line breaks in read-only fields\ninstead of converting them to <code class=\"docutils literal notranslate\">&lt;br&gt;</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25465\">#25465</a>).</p></li>\n<li><p>Fixed incorrect object reference in\n<code class=\"docutils literal notranslate\">SingleObjectMixin.get_context_object_name()</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/26006\">#26006</a>).</p></li>\n<li><p>Made <code class=\"docutils literal notranslate\">loaddata</code> skip disabling and enabling database constraints when it\ndoesn’t load any fixtures (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/23372\">#23372</a>).</p></li>\n<li><p>Restored <code class=\"docutils literal notranslate\">contrib.auth</code> hashers compatibility with <code class=\"docutils literal notranslate\">py-bcrypt</code>\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/26016\">#26016</a>).</p></li>\n<li><p>Fixed a crash in <code class=\"docutils literal notranslate\">QuerySet.values()/values_list()</code> after an <code class=\"docutils literal notranslate\">annotate()</code>\nand <code class=\"docutils literal notranslate\">order_by()</code> when <code class=\"docutils literal notranslate\">values()/values_list()</code> includes a field not in\nthe <code class=\"docutils literal notranslate\">order_by()</code> (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/25316\">#25316</a>).</p></li>\n</ul>\n</section>","rootId":"django-1-9-1-release-notes","toc":[{"title":"Bugfixes","anchor":"bugfixes","children":[]}],"breadcrumbs":[{"docname":"releases/index","title":"Release notes","url":"/en/dev/releases/"}],"prev":{"docname":"releases/1.9.2","title":"Django 1.9.2 release notes","url":"/en/dev/releases/1.9.2/"},"next":{"docname":"releases/1.9","title":"Django 1.9 release notes","url":"/en/dev/releases/1.9/"},"formats":{"html":"/en/dev/releases/1.9.1/","markdown":"/en/dev/releases/1.9.1.md","json":"/en/dev/releases/1.9.1.json"},"source":"https://github.com/django/django/blob/main/docs/releases/1.9.1.txt","official":"https://docs.djangoproject.com/en/dev/releases/1.9.1/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en"]}