| in blog | Django News |
|---|---|
| published date | 2026-09-11 |
| original entry | Issue 354: DjangoCon US Recaps and the Myth of the Well-Structured Project |
The second half of our annual JetBrains fundraiser has been extended through September 14, 2026. Thank you to JetBrains for the extra time. You still have time to renew your PyCharm license or give it a try.
The Django Software Foundation is looking for people to join the Fundraising Working Group. This is a particularly interesting time to get involved.
Notes from the September 7 meeting: packaging related tools as extras, experimental features, usage telemetry, and Fellows pinging the CompositeField and content type parsing DEPs.
Two weeks of intermittent 502s and 503s on files.pythonhosted.org came from a Fastly canary that left one cache node half rolled back, which then exposed three latent bugs in PyPI's own config. The takeaway for the rest of us: turn on dependency caching in CI, which setup-python leaves off by default.
Thibaud Colas is prototyping wagtail-cli, a terminal interface over the v3 API for browsing and publishing pages, managing media, and scaffolding projects, partly so AI agents can reach the CMS without driving a browser. Try it with uv tool install wagtail-cli.
Today, "Updates to Django" is presented by Raffaella from Djangonaut Space! ๐
Last week we had 15 pull requests merged into Django by 12 different contributors - including 2 first-time contributors! Congratulations to Vimal Sahani and Dave Gaeddert for having their first commits merged into Django - welcome on board!
News in Django 6.1:
__in lookups on annotations to erroneously return empty querysets and __range lookups to crash when passed an iterator (#37311).Prefetch for forward foreign key or reverse one-to-one relationships were not routed using the parent querysetโs database (#37300).search_fields entry used an __exact lookup on a field with choices, and where any search term matched all rows with a True value when an __exact lookup was used on a BooleanField (#37263).News in Django 6.2:
tzinfo argument of Extract and Trunc database functions in migrations when USE_TZ is True is deprecated. Pass tzinfo explicitly to avoid inconsistent behavior if TIME_ZONE changes.db_default primary key no longer compare equal to other instances.An early report for about a day at my desk before heading out for some vacation. Six tickets reviewed, two authored, and the usual misc.
Seven tickets reviewed and another seven authored. Fellows sync, engaging with security issues, and website working group meeting.
Post-DjangoCon US week (including the emotional low ๐ that comes with it), with most of my time going into two things: first, iterating on a security report until we could confirm the issue, followed by developing a solution for it. I also continued the calendar versioning work around DEP 20 ๐ , including both the Django implementation and the release process updates. And, after iterating on a PR tutorial since Vigo, I finally got to see it through.
django-ox is a production worker for Django Tasks that runs on the database you already have: no Celery, no Redis, no broker to babysit. Enqueue is a plain INSERT, so a task commits or rolls back with the data it belongs to. Django 5.2 LTS and 6.x, free, BSD-3.

After 30 years of tripping people up by anchoring at the start of a string but not the end, re.match() is soft-deprecated in Python 3.15 in favor of the clearer re.prefixmatch().
Ronny Vedrilla makes a thoughtful case for fewer Django apps: treating them as database namespaces rather than folders, starting with one domain plus a few "satellite" apps, and using import-linter to enforce the boundaries so they don't just become decoration.
Assigning Q() objects to named variables makes filter logic readable and reusable, and passing several into one .filter() call avoids the extra joins you get from chaining.
Rachell Calhoun's DjangoCon US recap comes from inside the machinery: a third year chairing volunteers alongside Monica Oyugi, the first time all five Djangonaut Space founders stood in the same room, and open spaces on contributing to Django and on music. It ends on the case for volunteering, which she calls the fastest way she knows to stop feeling like a stranger at a conference.
Velda Kiara's update on DjangoCon US and related tech discoveries.
Theresa's very in-depth recap of DjangoCon US, from talks and keynotes to lightning talks, hallway convos, Chicago adventures, and more.
Recruiter Jon Gould's fourth DjangoCon, from the sponsor side of the table. His favorite parts were the unscheduled ones, like Aman Singh's early morning walks to the Bean.
Jason Judkins's recap of a specific talk at DjangoCon US the other week, by Drishti Jain, highlighting how important shapes and GeoDjango are in the real world.
Two construction-AI roles at Provision and a backend seat on the platform that runs a family-owned cruise agency.
๐ Machine Learning Engineer (Hybrid) at Provision
Django Developer at The Cruise Brothers
Full Stack Software Engineer (Hybrid) at Provision
Translates .po files and model fields with an LLM, but only the new and changed strings, using a TRANSLATING.md glossary in your repo to keep terminology consistent between runs. Placeholders and HTML tags survive intact.
Plugs Absurd, a Postgres-native workflow engine, into Django's Tasks framework so background tasks and durable workflows run on the database connection you already have. Needs Django 6.0+ and psycopg 3.