diff options
| author | Clifford Gama <cliffygamy@gmail.com> | 2025-05-26 16:44:08 +0200 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-06-06 17:41:51 +0200 |
| commit | 6fc620b4a8e91839b93af2b52d80bdbd5f8a1fcc (patch) | |
| tree | 1d6c28c7912e95993912992381c2e4b50a489928 /docs | |
| parent | 8fcc83953c350e158a484bf1da0aa1b79b69bb07 (diff) | |
[5.2.x] Fixed #36419 -- Ensured for_save was propagated when resolving expressions.
The for_save flag wasn't properly propagated when resolving expressions, which
prevented get_db_prep_save() from being called in some cases. This affected
fields like JSONField where None would be saved as JSON null instead of SQL NULL.
Regression in 00c690efbc0b10f67924687f24a7b30397bf47d9.
Thanks to David Sanders and Simon Charette for reviews.
Co-authored-by: Adam Johnson <me@adamj.eu>
Backport of c1fa3fdd040718356e5a3b9a0fe699d73f47a940 from main.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/releases/5.2.3.txt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/docs/releases/5.2.3.txt b/docs/releases/5.2.3.txt index 5aaa7fd2dd..927ec16d34 100644 --- a/docs/releases/5.2.3.txt +++ b/docs/releases/5.2.3.txt @@ -13,3 +13,7 @@ Bugfixes * Fixed a log injection possibility by migrating remaining response logging to ``django.utils.log.log_response()``, which safely escapes arguments such as the request path to prevent unsafe log output (:cve:`2025-48432`). + +* Fixed a regression in Django 5.2 that caused :meth:`.QuerySet.bulk_update` to + incorrectly convert ``None`` to JSON ``null`` instead of SQL ``NULL`` for + ``JSONField`` (:ticket:`36419`). |
