126 wires and counting

$ follow Django

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

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-09-18
stories 17

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

GeneratedField null check reverted, sponsorship pages rebuilt

By RepoJournal · Filed · About Django · Composed from the cited sources · methodology

Django reverted the system check that pushed developers to drop null=True from GeneratedField definitions, restoring NULL matching in negated lookups, while djangoproject.com split its sponsorship prospectus into per-plan pages.

Fixed #37348 -- Reverted "Fixed #36806 -- Added system check for null kwarg in GeneratedField.". django/django

by Natalia

The removal of the fields.W225 null check landed in 6.1.2 as a revert, undoing the check that drove developers to strip null=True from GeneratedField. Fields that dropped the kwarg silently lost NULL matching in negated lookups, so exclude() and other negated queries returned the wrong rows; restoring it puts that behavior back. fields.W225 stays documented as removed.

Refs #37348 -- Added test for excluding on a nullable GeneratedField. django/django

by Natalia

Natalia added a regression test pinning the exclude() behavior on a nullable GeneratedField. Negated lookups depend on Field.null to match rows where the value is NULL, and that matching was the casualty of dropping null=True to silence fields.W225.

:tractor: Add sponsorship plan comparison and detailed inquiry pages django/djangoproject.com

by jefftriplett

/sponsor/ is now a company-facing plan comparison with six detailed benefit pages and per-plan inquiry forms; the full prospectus and banner sponsorship survive in the same layout. Banner sponsorship previously had nowhere to send interested companies, since the prospectus covered only annual memberships.

Fixed #2855 -- Made the sponsorship tier table usable on small screens. django/djangoproject.com

by Jeff Triplett

The tier comparison table needs 1000px for its seven columns, so on phones it showed a sliver of one tier while sideways scrolling carried the feature labels off screen and left the ticks unreadable. The feature column and section headings are now pinned below 1000px, and cells tighten below 700px so two or three tiers fit beside them.

Restored timeout in GeoDjango CI workflow. django/django

by Jacob Walls

The GeoDjango CI workflow got its timeout back after it was unintentionally dropped in an earlier commit, and django-asv picked up ubuntu-latest benchmark results.

Quick answers

What shipped in Django on September 18, 2026?
Django reverted the system check that pushed developers to drop null=True from GeneratedField definitions, restoring NULL matching in negated lookups, while djangoproject.com split its sponsorship prospectus into per-plan pages. In total, 12 commits and 5 pull requests landed.
Who contributed to Django on September 18, 2026?
4 developers shipped this update, including jefftriplett, Eric Holscher, Natalia, and Jacob Walls.
What were the notable Django updates?
Fixed #37348 -- Reverted "Fixed #36806 -- Added system check for null kwarg in GeneratedField.", Refs #37348 -- Added test for excluding on a nullable GeneratedField, and :tractor: Add sponsorship plan comparison and detailed inquiry pages.