diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2022-12-12 08:25:05 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-12-12 08:36:17 +0100 |
| commit | 2ebfbd894e21e1656c1e1f32d98b8df7a32d3649 (patch) | |
| tree | d74840ed5991c06abd3b09067d683fdc2282d7c6 /django | |
| parent | c5ed884eabf3b2b67581c55bf6c87e721f69157f (diff) | |
Refs #33308 -- Moved psycopg2 imports to the psycopg_any module.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/postgres/apps.py | 5 | ||||
| -rw-r--r-- | django/contrib/postgres/fields/ranges.py | 8 | ||||
| -rw-r--r-- | django/contrib/postgres/forms/ranges.py | 7 | ||||
| -rw-r--r-- | django/db/backends/postgresql/creation.py | 3 | ||||
| -rw-r--r-- | django/db/backends/postgresql/operations.py | 4 | ||||
| -rw-r--r-- | django/db/backends/postgresql/psycopg_any.py | 6 | ||||
| -rw-r--r-- | django/db/backends/postgresql/schema.py | 5 |
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. |
