summaryrefslogtreecommitdiff
path: root/django
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
parentc5ed884eabf3b2b67581c55bf6c87e721f69157f (diff)
Refs #33308 -- Moved psycopg2 imports to the psycopg_any module.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/postgres/apps.py5
-rw-r--r--django/contrib/postgres/fields/ranges.py8
-rw-r--r--django/contrib/postgres/forms/ranges.py7
-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
7 files changed, 22 insertions, 16 deletions
diff --git a/django/contrib/postgres/apps.py b/django/contrib/postgres/apps.py
index 494cea245a..a8ee3fbf4b 100644
--- a/django/contrib/postgres/apps.py
+++ b/django/contrib/postgres/apps.py
@@ -1,8 +1,7 @@
-from psycopg2.extras import DateRange, DateTimeRange, DateTimeTZRange, NumericRange
-
from django.apps import AppConfig
from django.core.signals import setting_changed
from django.db import connections
+from django.db.backends.postgresql.psycopg_any import RANGE_TYPES
from django.db.backends.signals import connection_created
from django.db.migrations.writer import MigrationWriter
from django.db.models import CharField, OrderBy, TextField
@@ -21,8 +20,6 @@ from .lookups import (
from .serializers import RangeSerializer
from .signals import register_type_handlers
-RANGE_TYPES = (DateRange, DateTimeRange, DateTimeTZRange, NumericRange)
-
def uninstall_if_needed(setting, value, enter, **kwargs):
"""
diff --git a/django/contrib/postgres/fields/ranges.py b/django/contrib/postgres/fields/ranges.py
index 6230b2f887..d5c438dbdc 100644
--- a/django/contrib/postgres/fields/ranges.py
+++ b/django/contrib/postgres/fields/ranges.py
@@ -1,10 +1,14 @@
import datetime
import json
-from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange, Range
-
from django.contrib.postgres import forms, lookups
from django.db import models
+from django.db.backends.postgresql.psycopg_any import (
+ DateRange,
+ DateTimeTZRange,
+ NumericRange,
+ Range,
+)
from django.db.models.lookups import PostgresOperatorLookup
from .utils import AttributeSetter
diff --git a/django/contrib/postgres/forms/ranges.py b/django/contrib/postgres/forms/ranges.py
index 444991970d..3017f08e88 100644
--- a/django/contrib/postgres/forms/ranges.py
+++ b/django/contrib/postgres/forms/ranges.py
@@ -1,7 +1,10 @@
-from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange
-
from django import forms
from django.core import exceptions
+from django.db.backends.postgresql.psycopg_any import (
+ DateRange,
+ DateTimeTZRange,
+ NumericRange,
+)
from django.forms.widgets import HiddenInput, MultiWidget
from django.utils.translation import gettext_lazy as _
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.