Django 1.8.6 release notes

November 4, 2015

Django 1.8.6 adds official support for Python 3.5 and fixes several bugs in 1.8.5.


  • Fixed a regression causing ModelChoiceField to ignore prefetch_related() on its queryset (#25496).
  • Allowed “mode=memory” in SQLite test database name if supported (#12118).
  • Fixed system check crash on ForeignKey to abstract model (#25503).
  • Fixed incorrect queries when you have multiple ManyToManyFields on different models that have the same field name, point to the same model, and have their reverse relations disabled (#25545).
  • Allowed filtering over a RawSQL annotation (#25506).
  • Made the Concat database function idempotent on SQLite (#25517).
  • Avoided a confusing stack trace when starting runserver with an invalid INSTALLED_APPS setting (#25510). This regression appeared in 1.8.5 as a side effect of fixing #24704.
  • Made deferred models use their proxied model’s _meta.apps for caching and retrieval (#25563). This prevents any models generated in data migrations using QuerySet.defer() from leaking to test and application code.
  • Fixed a typo in the name of the strictly_above PostGIS lookup (#25592).
  • Fixed crash with contrib.postgres.forms.SplitArrayField and IntegerField on invalid value (#25597).
  • Added a helpful error message when Django and South migrations exist in the same directory (#25618).
  • Fixed a regression in URLValidator that allowed URLs with consecutive dots in the domain section (like to pass (#25620).
  • Fixed a crash with GenericRelation and BaseModelAdmin.to_field_allowed (#25622).