Django 1.8.1 release notes¶
May 1, 2015
Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the migrations framework.
Bugfixes¶
Added support for serializing
timedelta
objects in migrations (#24566).Restored proper parsing of the
testserver
command’s positional arguments (fixture names) (#24571).Prevented
TypeError
in translation functionscheck_for_language()
andget_language_bidi()
when translations are deactivated (#24569).Fixed
squashmigrations
command when usingSeparateDatabaseAndState
(#24278).Stripped microseconds from
datetime
values when using an older version of the MySQLdb DB API driver as it does not support fractional seconds (#24584).Fixed a migration crash when altering
ManyToManyField
s (#24513).Fixed a crash with
QuerySet.update()
on foreign keys to one-to-one fields (#24578).Fixed a regression in the model detail view of
admindocs
when a model has a reverse foreign key relation (#24624).Fixed a crash with
QuerySet.update()
on foreign keys to instances withuuid
primary keys (#24611).Fixed database introspection with SQLite 3.8.9 (released April 8, 2015) (#24637).
Updated
urlpatterns
examples generated bystartproject
to remove usage of referencing views by dotted path indjango.conf.urls.url()
which is deprecated in Django 1.8 (#24635).Fixed queries where an expression was referenced in
order_by()
, but wasn’t part of the select clause. An example query isqs.annotate(foo=F('field')).values('pk').order_by('foo'))
(#24615).Fixed a database table name quoting regression (#24605).
Prevented the loss of
null
/not null
column properties during field alteration of MySQL databases (#24595).Fixed JavaScript path of
contrib.admin
’s related field widget when using alternate static file storages (#24655).Fixed a migration crash when adding new relations to models (#24573).
Fixed a migration crash when applying migrations with model managers on Python 3 that were generated on Python 2 (#24701).
Restored the ability to use iterators as queryset filter arguments (#24719).
Fixed a migration crash when renaming the target model of a many-to-many relation (#24725).
Removed flushing of the test database with
test --keepdb
, which prevented apps with data migrations from using the option (#24729).Fixed
makemessages
crash in some locales (#23271).Fixed help text positioning of
contrib.admin
fields that use theModelAdmin.filter_horizontal
andfilter_vertical
options (#24676).Fixed
AttributeError: function 'GDALAllRegister' not found
error when initializingcontrib.gis
on Windows.
Optimizations¶
Changed
ModelState
to deepcopy fields instead of deconstructing and reconstructing (#24591). This speeds up the rendering of model states and reduces memory usage when runningmanage.py migrate
(although other changes in this release may negate any performance benefits).