diff options
Diffstat (limited to 'django/db/backends')
| -rw-r--r-- | django/db/backends/base/features.py | 3 | ||||
| -rw-r--r-- | django/db/backends/postgresql/base.py | 8 | ||||
| -rw-r--r-- | django/db/backends/postgresql/features.py | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/django/db/backends/base/features.py b/django/db/backends/base/features.py index b5b6c5b55d..ef1fe88336 100644 --- a/django/db/backends/base/features.py +++ b/django/db/backends/base/features.py @@ -345,6 +345,9 @@ class BaseDatabaseFeatures: # Set to (exception, message) if null characters in text are disallowed. prohibits_null_characters_in_text_exception = None + # Does the backend support unlimited character columns? + supports_unlimited_charfield = False + # Collation names for use by the Django test suite. test_collations = { "ci": None, # Case-insensitive. diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index ceea1bebad..99403f5322 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -80,6 +80,12 @@ from .operations import DatabaseOperations # NOQA isort:skip from .schema import DatabaseSchemaEditor # NOQA isort:skip +def _get_varchar_column(data): + if data["max_length"] is None: + return "varchar" + return "varchar(%(max_length)s)" % data + + class DatabaseWrapper(BaseDatabaseWrapper): vendor = "postgresql" display_name = "PostgreSQL" @@ -92,7 +98,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): "BigAutoField": "bigint", "BinaryField": "bytea", "BooleanField": "boolean", - "CharField": "varchar(%(max_length)s)", + "CharField": _get_varchar_column, "DateField": "date", "DateTimeField": "timestamp with time zone", "DecimalField": "numeric(%(max_digits)s, %(decimal_places)s)", diff --git a/django/db/backends/postgresql/features.py b/django/db/backends/postgresql/features.py index 49658cd267..6c20dd87f0 100644 --- a/django/db/backends/postgresql/features.py +++ b/django/db/backends/postgresql/features.py @@ -110,3 +110,4 @@ class DatabaseFeatures(BaseDatabaseFeatures): has_bit_xor = property(operator.attrgetter("is_postgresql_14")) supports_covering_spgist_indexes = property(operator.attrgetter("is_postgresql_14")) + supports_unlimited_charfield = True |
