diff options
Diffstat (limited to 'django/db/backends/postgresql/base.py')
-rw-r--r-- | django/db/backends/postgresql/base.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index ed911a91da..03c7a3c284 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -200,7 +200,10 @@ class DatabaseWrapper(BaseDatabaseWrapper): # Set the isolation level to the value from OPTIONS. if self.isolation_level != connection.isolation_level: connection.set_session(isolation_level=self.isolation_level) - + # Register dummy loads() to avoid a round trip from psycopg2's decode + # to json.dumps() to json.loads(), when using a custom decoder in + # JSONField. + psycopg2.extras.register_default_jsonb(conn_or_curs=connection, loads=lambda x: x) return connection def ensure_timezone(self): |