Fixed #30115 -- Fixed SQLite introspection crash with a varchar primary key.

Removed obsolete max_length handling for CharField that caused the issue.
Regression in a35d2a4510.
This commit is contained in:
Nick Pope 2019-01-18 22:44:09 +00:00 committed by Tim Graham
parent d82f212ec8
commit bff748df3e
1 changed files with 3 additions and 8 deletions

View File

@ -40,6 +40,7 @@ class FlexibleFieldLookupDict:
'real': 'FloatField', 'real': 'FloatField',
'text': 'TextField', 'text': 'TextField',
'char': 'CharField', 'char': 'CharField',
'varchar': 'CharField',
'blob': 'BinaryField', 'blob': 'BinaryField',
'date': 'DateField', 'date': 'DateField',
'datetime': 'DateTimeField', 'datetime': 'DateTimeField',
@ -47,14 +48,8 @@ class FlexibleFieldLookupDict:
} }
def __getitem__(self, key): def __getitem__(self, key):
key = key.lower() key = key.lower().split('(', 1)[0].strip()
try: return self.base_data_types_reverse[key]
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
class DatabaseIntrospection(BaseDatabaseIntrospection): class DatabaseIntrospection(BaseDatabaseIntrospection):