summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2019-01-18 22:44:09 +0000
committerTim Graham <timograham@gmail.com>2019-01-22 19:20:16 -0500
commite53e64280df417c1f1acd63171746b28cd42edef (patch)
treea95349a053726659deab4741e6e577fe9fa30bf6
parent6ce7887f1387855df2cda180da08277febedd02e (diff)
[2.2.x] Fixed #30115 -- Fixed SQLite introspection crash with a varchar primary key.
Removed obsolete max_length handling for CharField that caused the issue. Regression in a35d2a4510d5beec398b1007aaa26492d6aedf97. Backport of bff748df3e1e1c0077e02df2b77bda2b827ad129 from master.
-rw-r--r--django/db/backends/sqlite3/introspection.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/django/db/backends/sqlite3/introspection.py b/django/db/backends/sqlite3/introspection.py
index 490606c64d..c8ed8b8f88 100644
--- a/django/db/backends/sqlite3/introspection.py
+++ b/django/db/backends/sqlite3/introspection.py
@@ -40,6 +40,7 @@ class FlexibleFieldLookupDict:
'real': 'FloatField',
'text': 'TextField',
'char': 'CharField',
+ 'varchar': 'CharField',
'blob': 'BinaryField',
'date': 'DateField',
'datetime': 'DateTimeField',
@@ -47,14 +48,8 @@ class FlexibleFieldLookupDict:
}
def __getitem__(self, key):
- key = key.lower()
- try:
- return self.base_data_types_reverse[key]
- except KeyError:
- size = get_field_size(key)
- if size is not None:
- return ('CharField', {'max_length': size})
- raise KeyError
+ key = key.lower().split('(', 1)[0].strip()
+ return self.base_data_types_reverse[key]
class DatabaseIntrospection(BaseDatabaseIntrospection):