Django 1.8.1 release notes — Django documentation
From Get docs
Django/docs/3.0.x/releases/1.8.1
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 (:ticket:`24566`). - Restored proper parsing of the :djadmin:`testserver` command’s positional arguments (fixture names) (:ticket:`24571`).
- Prevented
TypeError
in translation functionscheck_for_language()
andget_language_bidi()
when translations are deactivated (:ticket:`24569`). - Fixed :djadmin:`squashmigrations` command when using SeparateDatabaseAndState (:ticket:`24278`).
- Stripped microseconds from
datetime
values when using an older version of the MySQLdb DB API driver as it does not support fractional seconds (:ticket:`24584`). - Fixed a migration crash when altering ManyToManyFields (:ticket:`24513`).
- Fixed a crash with
QuerySet.update()
on foreign keys to one-to-one fields (:ticket:`24578`). - Fixed a regression in the model detail view of admindocs when a model has a reverse foreign key relation (:ticket:`24624`).
- Prevented arbitrary file inclusions in admindocs (:ticket:`24625`).
- Fixed a crash with
QuerySet.update()
on foreign keys to instances withuuid
primary keys (:ticket:`24611`). - Fixed database introspection with SQLite 3.8.9 (released April 8, 2015) (:ticket:`24637`).
- Updated
urlpatterns
examples generated by :djadmin:`startproject` to remove usage of referencing views by dotted path in url() which is deprecated in Django 1.8 (:ticket:`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'))
(:ticket:`24615`). - Fixed a database table name quoting regression (:ticket:`24605`).
- Prevented the loss of
null
/not null
column properties during field alteration of MySQL databases (:ticket:`24595`). - Fixed JavaScript path of
contrib.admin
’s related field widget when using alternate static file storages (:ticket:`24655`). - Fixed a migration crash when adding new relations to models (:ticket:`24573`).
- Fixed a migration crash when applying migrations with model managers on Python 3 that were generated on Python 2 (:ticket:`24701`).
- Restored the ability to use iterators as queryset filter arguments (:ticket:`24719`).
- Fixed a migration crash when renaming the target model of a many-to-many relation (:ticket:`24725`).
- Removed flushing of the test database with
test --keepdb
, which prevented apps with data migrations from using the option (:ticket:`24729`). - Fixed
makemessages
crash in some locales (:ticket:`23271`). - Fixed help text positioning of
contrib.admin
fields that use theModelAdmin.filter_horizontal
andfilter_vertical
options (:ticket:`24676`). - Fixed
AttributeError: function 'GDALAllRegister' not found
error when initializingcontrib.gis
on Windows.
Optimizations
- Changed
ModelState
to deepcopy fields instead of deconstructing and reconstructing (:ticket:`24591`). This speeds up the rendering of model states and reduces memory usage when running :djadmin:`manage.py migrate ` (although other changes in this release may negate any performance benefits).