У меня есть приложение Django, которое работает нормально.Тогда я получаю ошибки на некоторых обновлениях.Все они имеют вид:
no such table: main.event_contestant__old
Моя среда - Python 3.7.2, Django 2.1.5 на MacOs 10.12.6
После нескольких дней поиска это кажетсябыть ошибкой, вызванной некоторой несовместимостью между Django и sqlite3 V2.6 (v3.26).
Я пробовал Django версий 2.0.7, 2.1.5 и 2.1.7, но ошибки сохраняются, что бы ни былосделано в Django 2.1.5, которое должно было исправить ошибку, неэффективно.
Дальнейшее чтение показывает, что ошибка пришла с sqlite 2.6.0 и что более старые версии python использовали более старую версию sqlite3.Поэтому я изменил свою версию Python на 3.5, но версия sqlite не изменилась.
Мой вопрос - почему версия sqlite не меняется, когда я использую другую версию python?
ОБНОВЛЕНИЕ:
Установите python 3.5.4 с python.org
Создайте виртуальную среду для python 3.5.4 и запустите эту команду
Python 3.5.4 (v3.5.4:3f56838976, Aug 7 2017, 12:56:33)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.8.11'
>>>
Сделайте то же самое для python 3.6.5:
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.22.0'
>>>
Еще раз с Python 3.7.2, чтобы получить
Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.22.0'
>>>
OK.Похоже, я должен вернуться к Python 3.5.4, чтобы получить другую версию sqlite3, но фактическая версия действительно меняется с различными установками Python.
Теперь мне нужно протестировать эти версии еще раз мою ошибку в Django.
Я ответил на мой вопрос ниже, чтобы указать это обновление.Возможно, я вернусь с вопросами о Джанго.