diff options
Diffstat (limited to 'django/db/backends/postgresql')
| -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 |
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. |
