Notes de publication de Django 1.8.1Lien vers cette rubrique

May 1, 2015

Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the migrations framework.

Correction de boguesLien vers cette rubrique

  • 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 functions check_for_language() and get_language_bidi() when translations are deactivated (#24569).

  • Fixed squashmigrations command when using SeparateDatabaseAndState (#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 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 admindocs when a model has a reverse foreign key relation (#24624).

  • Prevented arbitrary file inclusions in admindocs (#24625).

  • 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).

  • Updated urlpatterns examples generated by startproject to remove usage of referencing views by dotted path in django.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 is qs.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 the ModelAdmin.filter_horizontal and filter_vertical options (#24676).

  • Fixed AttributeError: function 'GDALAllRegister' not found error when initializing contrib.gis on Windows.

OptimizationsLien vers cette rubrique

  • Changed 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 benefits).