summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Parton <john.parton.iv@gmail.com>2024-09-05 21:53:11 -0500
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-09-26 10:19:34 -0400
commitf22ff4561ada77be98ca4db3ce117caca897696e (patch)
tree4561c1eea7a916ae1fadbb443a24a84affa5e263
parent5f0ed95e103d341e8839dedcdaaf551dde9522cf (diff)
Fixed #35734 -- Used JSONB_BUILD_OBJECT database function on PostgreSQL when using server-side bindings.
Regression in 81ccf92f154c6d9eac3e30bac0aa67574d0ace15.
-rw-r--r--django/db/models/functions/comparison.py5
-rw-r--r--docs/releases/5.1.2.txt3
2 files changed, 7 insertions, 1 deletions
diff --git a/django/db/models/functions/comparison.py b/django/db/models/functions/comparison.py
index 6db81d6f46..d06f0a25a4 100644
--- a/django/db/models/functions/comparison.py
+++ b/django/db/models/functions/comparison.py
@@ -175,7 +175,10 @@ class JSONObject(Func):
)
def as_postgresql(self, compiler, connection, **extra_context):
- if not connection.features.is_postgresql_16:
+ if (
+ not connection.features.is_postgresql_16
+ or connection.features.uses_server_side_binding
+ ):
copy = self.copy()
copy.set_source_expressions(
[
diff --git a/docs/releases/5.1.2.txt b/docs/releases/5.1.2.txt
index 1cf3f9df09..6d2714df85 100644
--- a/docs/releases/5.1.2.txt
+++ b/docs/releases/5.1.2.txt
@@ -12,3 +12,6 @@ Bugfixes
* Fixed a regression in Django 5.1 that caused a crash when using the
PostgreSQL lookup :lookup:`trigram_similar` on output fields from ``Concat``
(:ticket:`35732`).
+
+* Fixed a regression in Django 5.1 that caused a crash of ``JSONObject()``
+ when using server-side binding with PostgreSQL 16+ (:ticket:`35734`).