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
timedeltaobjects in migrations (#24566).Restored proper parsing of the
testservercommand’s positional arguments (fixture names) (#24571).Prevented
TypeErrorin translation functionscheck_for_language()andget_language_bidi()when translations are deactivated (#24569).Fixed
squashmigrationscommand when usingSeparateDatabaseAndState(#24278).Stripped microseconds from
datetimevalues 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
ManyToManyFields (#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
admindocswhen a model has a reverse foreign key relation (#24624).Fixed a crash with
QuerySet.update()on foreign keys to instances withuuidprimary keys (#24611).Fixed database introspection with SQLite 3.8.9 (released April 8, 2015) (#24637).
Updated
urlpatternsexamples generated bystartprojectto 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 nullcolumn 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
makemessagescrash in some locales (#23271).Fixed help text positioning of
contrib.adminfields that use theModelAdmin.filter_horizontalandfilter_verticaloptions (#24676).Fixed
AttributeError: function 'GDALAllRegister' not founderror when initializingcontrib.gison Windows.
Optimizations¶
Changed
ModelStateto 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).