Django News Newsletter

Archives
Sponsor Us
Jobs
Podcast
Videos
Subscribe
July 17, 2026

Issue 346: Supporting the Triptych Project

News

Supporting the Triptych Project

The Django Steering Council has issued a Letter of Collaboration supporting Carson Gross and Alex Petros’ Triptych Project, aimed at making HTML more expressive for modern server-rendered apps. Button actions are the current focus, enabling request-capable buttons with action and method attributes, plus form HTTP method upgrades and partial DOM replacement.

Explore the DjangoCon US 2026 Speaker Lineup and Reserve Your Spot

DjangoCon US 2026 (Chicago, Aug 24–28) has published its speaker lineup, with talks spanning web development, APIs, deployment, security, testing, AI, and the future of the Django ecosystem. Conference registration also includes tutorials, Open Spaces, community sprints, hallway conversations, and social events.


Wagtail CMS News

Wagtail Space 2026 Call for Proposals is open! 📣

Wagtail Space 2026 is accepting talk proposals for 25-minute sessions on 18 and 19 November (2:00 PM to 6:00 PM GMT), with recorded talks welcome if your time zone does not work. Submit your ideas via Pretalx by 11 September, with interest in case studies, AI usage, accessibility, sustainability, plus security, performance, and digital sovereignty.


Updates to Django

Today, "Updates to Django" is presented by Hwayoung from Djangonaut Space! 🚀

Last week we had 17 pull requests merged into Django by 15 different contributors - including 3 first-time contributors! Congratulations to Frick Wu, Hanny and Leland Boeman for having their first commits merged into Django - welcome on board!

Notable Django news this week: 🦄

  • django CMS 5.1 was released recently!
  • Django Girls Workshop at EuroPython takes place on Saturday, July 18.

Sponsored Link

Production monitoring for Python apps – built by developers, not suits
In 2012, three devs built an error monitoring app. Since then, we’ve grown to deliver error tracking, logging, and Just Enough APM™ without bowing to VCs.

We build products for devs who build and support great web apps in production – just like us. Get your FREE account.

Python founders _ 06 2026.png


Articles

How to Achieve Pruning When Querying by Non-Partitioned Columns in PostgreSQL

Haki Benita shows how carefully crafted check constraints can achieve partition pruning in PostgreSQL even when filtering by non-partition key columns.

Security: line goes up · Hugo van Kemenade

CPython’s visible CVE output is rising, but the bigger story is the surge in incoming reports handled by the Python Security Response Team, including GitHub Security Advisories and older email threads. Charts show a sharp climb since 2025 and halfway through 2026, plus context on how PSRT guidance and the shift to GHSA reporting affect what gets counted.

Django: introducing django-orjson

django-orjson wraps orjson’s faster Rust-backed JSON serialization and deserialization as drop-in replacements for Django and Django REST Framework pieces like JsonResponse, test client parsing, and the json_script template tag. The project also points to a Django feature proposal to make pluggable JSON backends a first-class option, listing multiple Django integration points.

How to use a list/tuple/array in Django with a raw SQL cursor

Django raw cursor code that used IN %s with a tuple can fail on Postgres with psycopg 3, producing syntax errors like IN '(1,2,3)'. Switch to WHERE some_value = ANY(%s) and pass a list (not a tuple), and for lists of strings either keep ANY with correctly typed columns or build an OR chain with one %s per value for a safe, parameterized query.

Python: find all instances of a class with gc.get_objects()

Use gc.get_objects() to scan the garbage collector’s tracked objects and filter with isinstance(obj, MyClass) to find all current instances, without changing the class code. For debugging, prefer a generator with Counter when you only need aggregated data, and delete any temporary instance lists so you do not accidentally keep objects alive.

How to Achieve Pruning When Querying by Non-Partitioned Columns in PostgreSQL

Partitioned tables prune only when queries include the partition key, leaving common lookups like session_id stuck scanning every partition. This guide shows how to use per-partition CHECK constraints to “talk to” the planner so filtering by a correlated non-key column can eliminate irrelevant partitions, with an outlier-friendly approach based on multiple ranges.


Sponsored Link

Level up with mentorship

You can have a great manager and still want an outside perspective. I explain why in my FAQ.


Django Job Board

Freelance Full-Stack Web App Developer at Mindrift

Senior Python/Django Developer at Gryps


Projects

hassanzaibhay/django-query-doctor

Automated diagnosis and prescriptions for slow Django ORM queries. Detects N+1, duplicates, missing indexes and tells you exactly how to fix them.


Django News is not associated with the Django Software Foundation.

Django is a registered trademark of the Django Software Foundation.

Don't miss what's next. Subscribe to Django News Newsletter:
Older → Issue 345: Django security releases issued: 6.0.7 and 5.2.16
link
jefftriplett.com
Powered by Buttondown, the easiest way to start and grow your newsletter.