summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3/introspection.py
diff options
context:
space:
mode:
authorZackary Troop <zack.tro@gmail.com>2018-04-28 06:01:45 -0400
committerClaude Paroz <claude@2xlibre.net>2018-04-28 12:01:45 +0200
commit30f8642f2e9f4ed64ddb09163e09c1ca073b935a (patch)
tree23073f518acf4aaf95f31ee5a35983988ac798fd /django/db/backends/sqlite3/introspection.py
parent6b3d2920438746d260f7d158a91db53450055ae2 (diff)
downloaddjango-30f8642f2e9f4ed64ddb09163e09c1ca073b935a.tar.gz
Fixed #29350 -- Fix get_primary_key_column() method in sqlite3 backend
Thanks Tim Graham and Mariusz Felisiak for the reviews.
Diffstat (limited to 'django/db/backends/sqlite3/introspection.py')
-rw-r--r--django/db/backends/sqlite3/introspection.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/django/db/backends/sqlite3/introspection.py b/django/db/backends/sqlite3/introspection.py
index bb78e2533e..72e3d94955 100644
--- a/django/db/backends/sqlite3/introspection.py
+++ b/django/db/backends/sqlite3/introspection.py
@@ -192,9 +192,9 @@ class DatabaseIntrospection(BaseDatabaseIntrospection):
fields_sql = create_sql[create_sql.index('(') + 1:create_sql.rindex(')')]
for field_desc in fields_sql.split(','):
field_desc = field_desc.strip()
- m = re.search('"(.*)".*PRIMARY KEY( AUTOINCREMENT)?', field_desc)
+ m = re.match('(?:(?:["`\[])(.*)(?:["`\]])|(\w+)).*PRIMARY KEY.*', field_desc)
if m:
- return m.groups()[0]
+ return m.group(1) if m.group(1) else m.group(2)
return None
def _table_info(self, cursor, name):