diff --git a/django/db/backends/sqlite3/introspection.py b/django/db/backends/sqlite3/introspection.py index f029715cf2..529ef550f7 100644 --- a/django/db/backends/sqlite3/introspection.py +++ b/django/db/backends/sqlite3/introspection.py @@ -201,7 +201,10 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): constraints = {} # Get the index info cursor.execute("PRAGMA index_list(%s)" % self.connection.ops.quote_name(table_name)) - for number, index, unique in cursor.fetchall(): + for row in cursor.fetchall(): + # Sqlite3 3.8.9+ has 5 columns, however older versions only give 3 + # columns. Discard last 2 columns if there. + number, index, unique = row[:3] # Get the index info for that index cursor.execute('PRAGMA index_info(%s)' % self.connection.ops.quote_name(index)) for index_rank, column_rank, column in cursor.fetchall(): diff --git a/docs/releases/1.7.8.txt b/docs/releases/1.7.8.txt new file mode 100644 index 0000000000..a17904f45b --- /dev/null +++ b/docs/releases/1.7.8.txt @@ -0,0 +1,8 @@ +========================== +Django 1.7.7 release notes +========================== + +*Under development* + +Django 1.7.8 fixes database introspection with SQLite 3.8.9 (released April 8, +2015) (:ticket:`24637`). diff --git a/docs/releases/index.txt b/docs/releases/index.txt index 7545c553de..15473f56c6 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -25,6 +25,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 1.7.8 1.7.7 1.7.6 1.7.5