RepoJournal
Django

@django

Python's batteries-included web framework

Keep up with Django in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Python Full archive →

The Wire · Showcase

DJANGO DEPRECATES SELECT_RELATED() WITH NO ARGUMENTS

By RepoJournal · Filed · About Django

Django is removing the footgun of calling `select_related()` without arguments, forcing developers to be explicit about which relations they want to optimize.

The main event is a deprecation wave [1] that closes off a common mistake: calling `QuerySet.select_related()` with no args used to load every relation, defeating the purpose of the method entirely. This lands alongside a companion deprecation [2] that removes the corresponding `ModelAdmin.list_select_related = True` shortcut, which had the same problem. The infrastructure work behind this is solid—the team also removed unnecessary ordering from compound queries [3] and cleaned up test dependencies on generated columns [4], both of which reduce unnecessary database operations. On the admin side, hardcoded primary keys are gone from permission tests [5], making the test suite more maintainable as it scales. Benchmark infrastructure is tracking performance across ubuntu-latest [6], so you'll see the real-world impact of these changes roll in.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Fixed #36593 -- Deprecated QuerySet.select_related() with no arguments. ↗ django/django
  2. [2] Refs #36593 -- Deprecated setting ModelAdmin.list_select_related to True. django/django
  3. [3] Fixed #36938 -- Removed unnecessary ordering from compound queries. django/django
  4. [4] Removed constraints' test_validate_nullable_condition dependency on generated columns. django/django
  5. [5] Removed hardcoded pks in AdminViewPermissionsTest. django/django
  6. [6] Results for ubuntu-latest added [skip ci] django/django-asv

Quick answers

What shipped in Django on May 12, 2026?
Django is removing the footgun of calling `select_related()` without arguments, forcing developers to be explicit about which relations they want to optimize. In total, 12 commits and 4 pull requests landed.
Who contributed to Django on May 12, 2026?
1 developer shipped this update, including adamchainz.
What were the notable Django updates?
Fixed #36593 -- Deprecated QuerySet.select_related() with no arguments, Refs #36593 -- Deprecated setting ModelAdmin.list_select_related to True, and Fixed #36938 -- Removed unnecessary ordering from compound queries.

More from @django

Daily updates, in your inbox

Follow Django

Keep up with Django in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?