diff options
| author | Nick Pope <nick.pope@flightdataservices.com> | 2019-01-18 22:44:09 +0000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2019-01-22 19:20:16 -0500 |
| commit | e53e64280df417c1f1acd63171746b28cd42edef (patch) | |
| tree | a95349a053726659deab4741e6e577fe9fa30bf6 | |
| parent | 6ce7887f1387855df2cda180da08277febedd02e (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.py | 11 |
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): |
