Django 1.8.5 release notes

October 3, 2015

Django 1.8.5 fixes several bugs in 1.8.4.

Bugfixes

  • Made the development server's autoreload more robust (#24704).
  • Fixed AssertionError in some delete queries with a model containing a field that is both a foreign and primary key (#24951).
  • Fixed AssertionError in some complex queries (#24525).
  • Fixed a migrations crash with GenericForeignKey (#25040).
  • Made translation.override() clear the overridden language when a translation isn't initially active (#25295).
  • Fixed crash when using a value in ModelAdmin.list_display that clashed with a reverse field on the model (#25299).
  • Fixed autocompletion for options of non-argparse management commands (#25372).
  • Alphabetized ordering of imports in from django.db import migrations, models statement in newly created migrations (#25384).
  • Fixed migrations crash on MySQL when adding a text or a blob field with an unhashable default (#25393).
  • Changed Count queries to execute COUNT(*) instead of COUNT('*') as versions of Django before 1.8 did (#25377). This may fix a performance regression on some databases.
  • Fixed custom queryset chaining with values() and values_list() (#20625).
  • Moved the unsaved model instance assignment data loss check on reverse relations to Model.save() (#25160).
  • Readded inline foreign keys to form instances when validating model formsets (#25431).
  • Allowed using ORM write methods after disabling autocommit with set_autocommit(False) (#24921).
  • Fixed the manage.py test --keepdb option on Oracle (#25421).
  • Fixed incorrect queries with multiple many-to-many fields on a model with the same 'to' model and with related_name set to '+' (#24505, #25486).
  • Fixed pickling a SimpleLazyObject wrapping a model (#25389).