May 1, 2015
Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the migrations framework.
Added support for serializing
timedelta objects in
Restored proper parsing of the
testserver command’s positional
arguments (fixture names) (#24571).
TypeError in translation functions
get_language_bidi() when translations are deactivated (#24569).
squashmigrations command when using
Stripped microseconds from
datetime values when using an older version of
the MySQLdb DB API driver as it does not support fractional seconds
Fixed a migration crash when altering
Fixed a crash with
QuerySet.update() on foreign keys to one-to-one fields
Fixed a regression in the model detail view of
admindocs when a model has a reverse foreign key
Fixed a crash with
QuerySet.update() on foreign keys to instances with
uuid primary keys (#24611).
Fixed database introspection with SQLite 3.8.9 (released April 8, 2015) (#24637).
urlpatterns examples generated by
remove usage of referencing views by dotted path in
django.conf.urls.url() which is deprecated in Django 1.8
Fixed queries where an expression was referenced in
order_by(), but wasn’t
part of the select clause. An example query is
Fixed a database table name quoting regression (#24605).
Prevented the loss of
not null column properties during field
alteration of MySQL databases (#24595).
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).
makemessages crash in some locales (#23271).
Fixed help text positioning of
contrib.admin fields that use the
AttributeError: function 'GDALAllRegister' not found error when
contrib.gis on Windows.
ModelState to deepcopy fields instead of deconstructing and
reconstructing (#24591). This speeds up the rendering of model
states and reduces memory usage when running
manage.py migrate (although other changes in this release may negate any performance