Skip to main content

Django 6.1.1

Release Date: September 2, 2026

Django 6.1.1 has been released on September 2, 2026. This is a bugfix release that resolves one crash inherited from Django 5.2 and addresses several regressions introduced in the Django 6.1 cycle. No new features are included in this release.

Overview

Django 6.1.1 is a maintenance release focused on restoring correctness after the feature-heavy 6.1.0. The core team backported a targeted set of fixes covering the ORM, the admin, form media handling, and model introspection.

Bugfixes

  • Django 5.2 crash fix — Combining distinct(*fields) with order_by() and values() no longer crashes when two lookup paths resolve to the same column.
  • Template literal regression — The double-dot variable lookup deprecation no longer misfires on string and translated template literals such as {{ "a..b" }}.
  • Admin list_display — Entries traversing multiple relations with __ no longer crash or show incorrect values.
  • Prefetch routing — Custom querysets used with Prefetch for forward foreign keys and reverse one-to-ones now use the parent queryset database.
  • Form media assets — HTML-safe strings created with mark_safe() are again rendered verbatim instead of being treated as asset paths.
  • Schema migrationAlterField changing only the Python-level on_delete option no longer triggers unnecessary schema changes.
  • DecimalField on SQLite — Values now retrieve correctly when max_digits and decimal_places are unset.
  • from_db compatibility — Models overriding Model.from_db() without fetch_mode work again, though the override is now deprecated.
  • Annotation lookups__in lookups on annotations no longer return empty querysets, and __range with an iterator no longer crashes.
  • in_bulk orderingQuerySet.in_bulk() chained after values() or values_list() no longer drops annotations or miskeys results.

Deprecations

Overriding Model.from_db() without the new fetch_mode keyword argument is now deprecated. Update these overrides to accept fetch_mode to remain compatible with upcoming Django releases.

Upgrade

Follow the standard Django upgrade path by updating your pinned version to 6.1.1 and running your test suite. The official release notes contain the full list of fixed tickets.

What is New?

By continuing to use the site, you agree to the use of cookies.