113 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-02
stories 6

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Django fixes equality and XML serialization for unsaved composite primary keys

By RepoJournal · Filed · About Django

Django's Model.__eq__ and XML serializer now use _is_pk_set() to correctly handle unsaved instances with composite or db_default primary keys.

Django fixed ticket #37309 by switching Model.__eq__ and the XML serializer from `pk is None` to `_is_pk_set()` [1][2][3]. Previously, unsaved instances with composite or db_default primary keys compared equal because their pk values are tuples like `(None, None)` or `DatabaseDefault`, not None. This is a subtle but important fix for code that relies on equality to distinguish unsaved model instances. The same change also stops the XML serializer from emitting a dummy pk attribute for such unsaved instances, cleaning up serialized output [3]. The djangoproject.com team removed a duplicate "Back to top" link from the Sponsor page, which was already provided by the base template [4]. A benchmark bot added results for ubuntu-latest to django-asv [5].

Action items

References

  1. [1] Fixed #37309 -- Used _is_pk_set() in Model.__eq__ and the XML serializer. ↗ django/django
  2. [2] Fixed #37309 -- Used _is_pk_set() in Model.__eq__. ↗ django/django
  3. [3] Refs #37309 -- Used _is_pk_set() in the XML serializer. ↗ django/django
  4. [4] Removed duplicate "Back to top" link from Sponsor page. (#2814) ↗ django/djangoproject.com
  5. [5] Results for ubuntu-latest added [skip ci] ↗ django/django-asv

Quick answers

What shipped in Django on September 2, 2026?
Django's Model.__eq__ and XML serializer now use _is_pk_set() to correctly handle unsaved instances with composite or db_default primary keys. In total, 4 commits and 2 pull requests landed.
Who contributed to Django on September 2, 2026?
2 developers shipped this update, including dennybiasiolli and James Beard.
What were the notable Django updates?
Fixed #37309 -- Used _is_pk_set() in Model.__eq__ and the XML serializer, Fixed #37309 -- Used _is_pk_set() in Model.__eq__, and Refs #37309 -- Used _is_pk_set() in the XML serializer.