Django 1.9.1 release notes¶
January 2, 2016
Django 1.9.1 fixes several bugs in 1.9.
Bugfixes¶
Fixed
BaseCache.get_or_set()
with theDummyCache
backend (#25840).Fixed a regression in
FormMixin
causing forms to be validated twice (#25548, #26018).Fixed a system check crash with nested
ArrayField
s (#25867).Fixed a state bug when migrating a
SeparateDatabaseAndState
operation backwards (#25896).Fixed a regression in
CommonMiddleware
causingIf-None-Match
checks to always return HTTP 200 (#25900).Fixed missing
varchar/text_pattern_ops
index onCharField
andTextField
respectively when usingAlterField
on PostgreSQL (#25412).Fixed admin’s delete confirmation page’s summary counts of related objects (#25883).
Added
from __future__ import unicode_literals
to the defaultapps.py
created bystartapp
on Python 2 (#25909). Add this line to your ownapps.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()
(#25894).Fixed a state bug when using an
AlterModelManagers
operation (#25852).Fixed
TypedChoiceField
change detection with nullable fields (#25942).Fixed incorrect timezone warnings in custom admin templates that don’t have a
data-admin-utc-offset
attribute in thebody
tag. (#25845).Fixed a regression which prevented using a language not in Django’s default language list (
LANGUAGES
) (#25915).Avoided hiding some exceptions, like an invalid
INSTALLED_APPS
setting, behindAppRegistryNotReady
when startingrunserver
(#25510). This regression appeared in 1.8.5 as a side effect of fixing #24704 and by mistake the fix wasn’t applied to thestable/1.9.x
branch.Fixed
migrate --fake-initial
detection of many-to-many tables (#25922).Restored the functionality of the admin’s
list_editable
add and change buttons (#25903).Fixed
isnull
query lookup forForeignObject
(#25972).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()
(#26006).Made
loaddata
skip disabling and enabling database constraints when it doesn’t load any fixtures (#23372).Restored
contrib.auth
hashers compatibility withpy-bcrypt
(#26016).Fixed a crash in
QuerySet.values()/values_list()
after anannotate()
andorder_by()
whenvalues()/values_list()
includes a field not in theorder_by()
(#25316).