Django 1.9.1 release notes

    Django 1.9.1 fixes several bugs in 1.9.

    • Fixed with the DummyCache backend (#25840).
    • Fixed a regression in FormMixin causing forms to be validated twice (, #26018).
    • Fixed a system check crash with nested ArrayFields ().
    • Fixed a state bug when migrating a SeparateDatabaseAndState operation backwards (#25896).
    • Fixed a regression in CommonMiddleware causing If-None-Match checks to always return HTTP 200 ().
    • Fixed missing varchar/text_pattern_ops index on CharField and TextField respectively when using AlterField on PostgreSQL (#25412).
    • Added from __future__ import unicode_literals to the default created by startapp on Python 2 (). Add this line to your own apps.py files created using Django 1.9 if you want your migrations to work on both Python 2 and Python 3.
    • Prevented QuerySet.delete() from crashing on MySQL when querying across relations (#25882).
    • Fixed evaluation of zero-length slices of QuerySet.values() ().
    • Fixed a state bug when using an AlterModelManagers operation (#25852).
    • Fixed TypedChoiceField change detection with nullable fields ().
    • Fixed incorrect timezone warnings in custom admin templates that don’t have a data-admin-utc-offset attribute in the body tag. (#25845).
    • Fixed a regression which prevented using a language not in Django’s default language list () (#25915).
    • Fixed migrate --fake-initial detection of many-to-many tables ().
    • Restored the functionality of the admin’s list_editable add and change buttons (#25903).
    • Fixed isnull query lookup for ForeignObject ().
    • Fixed a regression in the admin which ignored line breaks in read-only fields instead of converting them to <br> (#25465).
    • Fixed incorrect object reference in SingleObjectMixin.get_context_object_name() ().
    • Made loaddata skip disabling and enabling database constraints when it doesn’t load any fixtures (#23372).
    • Restored contrib.auth hashers compatibility with py-bcrypt ().