summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2022-12-12 08:25:05 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-12-12 08:36:17 +0100
commit2ebfbd894e21e1656c1e1f32d98b8df7a32d3649 (patch)
treed74840ed5991c06abd3b09067d683fdc2282d7c6 /django/db/backends/postgresql
parentc5ed884eabf3b2b67581c55bf6c87e721f69157f (diff)
Refs #33308 -- Moved psycopg2 imports to the psycopg_any module.
Diffstat (limited to 'django/db/backends/postgresql')
-rw-r--r--django/db/backends/postgresql/creation.py3
-rw-r--r--django/db/backends/postgresql/operations.py4
-rw-r--r--django/db/backends/postgresql/psycopg_any.py6
-rw-r--r--django/db/backends/postgresql/schema.py5
4 files changed, 10 insertions, 8 deletions
diff --git a/django/db/backends/postgresql/creation.py b/django/db/backends/postgresql/creation.py
index 690bf9639b..b445b89646 100644
--- a/django/db/backends/postgresql/creation.py
+++ b/django/db/backends/postgresql/creation.py
@@ -1,9 +1,8 @@
import sys
-from psycopg2 import errors
-
from django.core.exceptions import ImproperlyConfigured
from django.db.backends.base.creation import BaseDatabaseCreation
+from django.db.backends.postgresql.psycopg_any import errors
from django.db.backends.utils import strip_quotes
diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py
index 62273fc43c..e86628ede2 100644
--- a/django/db/backends/postgresql/operations.py
+++ b/django/db/backends/postgresql/operations.py
@@ -1,11 +1,9 @@
import json
from functools import lru_cache, partial
-from psycopg2.extras import Inet
-from psycopg2.extras import Json as Jsonb
-
from django.conf import settings
from django.db.backends.base.operations import BaseDatabaseOperations
+from django.db.backends.postgresql.psycopg_any import Inet, Jsonb
from django.db.backends.utils import split_tzname_delta
from django.db.models.constants import OnConflict
diff --git a/django/db/backends/postgresql/psycopg_any.py b/django/db/backends/postgresql/psycopg_any.py
new file mode 100644
index 0000000000..6dcd68f5eb
--- /dev/null
+++ b/django/db/backends/postgresql/psycopg_any.py
@@ -0,0 +1,6 @@
+from psycopg2 import errors, extensions # NOQA
+from psycopg2.extras import DateRange, DateTimeRange, DateTimeTZRange, Inet # NOQA
+from psycopg2.extras import Json as Jsonb # NOQA
+from psycopg2.extras import NumericRange, Range # NOQA
+
+RANGE_TYPES = (DateRange, DateTimeRange, DateTimeTZRange, NumericRange)
diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py
index 68c5bf31af..0c2043db35 100644
--- a/django/db/backends/postgresql/schema.py
+++ b/django/db/backends/postgresql/schema.py
@@ -1,7 +1,6 @@
-import psycopg2
-
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.db.backends.ddl_references import IndexColumns
+from django.db.backends.postgresql.psycopg_any import extensions
from django.db.backends.utils import strip_quotes
@@ -52,7 +51,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
def quote_value(self, value):
if isinstance(value, str):
value = value.replace("%", "%%")
- adapted = psycopg2.extensions.adapt(value)
+ adapted = extensions.adapt(value)
if hasattr(adapted, "encoding"):
adapted.encoding = "utf8"
# getquoted() returns a quoted bytestring of the adapted value.