From 7eee1dca420ee7c4451d24cd32fa08aed0dcbb36 Mon Sep 17 00:00:00 2001 From: Adrian Torres Date: Thu, 10 Nov 2022 19:31:31 +0100 Subject: Fixed #14094 -- Added support for unlimited CharField on PostgreSQL. Co-authored-by: Mariusz Felisiak --- django/db/backends/postgresql/base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'django/db/backends/postgresql/base.py') 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)", -- cgit v1.2.1