summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/backends/sqlite3')
-rw-r--r--django/db/backends/sqlite3/base.py8
-rw-r--r--django/db/backends/sqlite3/features.py1
2 files changed, 8 insertions, 1 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index c7cf947800..f7b65651b3 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -40,6 +40,12 @@ def adapt_datetime(val):
return val.isoformat(" ")
+def _get_varchar_column(data):
+ if data["max_length"] is None:
+ return "varchar"
+ return "varchar(%(max_length)s)" % data
+
+
Database.register_converter("bool", b"1".__eq__)
Database.register_converter("date", decoder(parse_date))
Database.register_converter("time", decoder(parse_time))
@@ -62,7 +68,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
"BigAutoField": "integer",
"BinaryField": "BLOB",
"BooleanField": "bool",
- "CharField": "varchar(%(max_length)s)",
+ "CharField": _get_varchar_column,
"DateField": "date",
"DateTimeField": "datetime",
"DecimalField": "decimal",
diff --git a/django/db/backends/sqlite3/features.py b/django/db/backends/sqlite3/features.py
index 502d8546e3..669e875b59 100644
--- a/django/db/backends/sqlite3/features.py
+++ b/django/db/backends/sqlite3/features.py
@@ -60,6 +60,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
"""
insert_test_table_with_defaults = 'INSERT INTO {} ("null") VALUES (1)'
supports_default_keyword_in_insert = False
+ supports_unlimited_charfield = True
@cached_property
def django_test_skips(self):