Новичок трудности с использованием юга с pycharm - DatabaseError: нет такой таблицы: south_migrationhistory
Я использую sqlite3 и pycharm, чтобы узнать больше о django и googled, чтобы найти, что на юге рекомендуется упростить модификацию моделей после их создания.
Я пытаюсь следовать совету http://south.aeracode.org/docs/tutorial/part1.html#starting-off.
Самый большой успех, который я получил до сих пор, - создать простую модель и запустить syncdb, прежде чем добавлять юг к install_apps. Таким образом, создаются таблицы, и я получаю возможность создать суперпользователя. (Администратор Django, похоже, беспокоится о том, что пользователей нет).
Затем я добавляю юг к install_apps и запускаю заставки схемы django_manage.py --initial
Кажется, все нормально. Создается новый каталог, называемый миграциями, с несколькими файлами в папке моего приложения и обнадеживающим сообщением.
"Создано 0001_initial.py. Теперь вы можете применить эту миграцию с помощью:./manage.py переноса закладок"
Следующий шаг - django_manage.py "миграция закладок создает следующее сообщение об ошибке
django.db.utils.DatabaseError: нет такой таблицы: south_migrationhistory.
Я думал, что таблица будет создана на первом этапе схемы. Что мне не хватает? Может ли кто-нибудь помочь?
Марг
Ответы
Ответ 1
Юг использует таблицу, если ее собственный, чтобы отслеживать, какие миграции были применены. Прежде чем вы сможете применить какие-либо миграции, это должно быть создано с помощью python ./manage.py syncdb
.
Как и для настройки на юг, вы обнаружите syncdb, иногда необходимый для приложений, не относящихся к югу в вашем проекте, например, очень общий django.contrib.auth
.
Обратите внимание, что в качестве удобства вы можете запускать обе за один раз, как это
python ./manage.py syncdb --migrate
Ответ 2
Мое последнее (неудачное) усилие было следующим
- Создать приложение - synch db - созданный суперпользователь
- Экран тестового прогона -admin отображает основные таблицы
- Добавьте юг и syncdb из командной строки с созданной командой manage.py syncdb - south_migrationhistory. Добавить базовую модель ванили
- Пробовал различные комбинации manage.py syncdb -manage и
схематизация из Pycharm (если запустить изнутри pycharm a
Каталог миграций создается в приложении - если запустить из командной строки, то каталог, похоже, не является создано.)
- На экране администратора Django отображается таблица - но если я попытаюсь отредактировать в таблице говорится, что он не существует
- Проверить структуру базы данных с использованием браузера SQLite - таблица для вновь созданной модели не существует
Я начинаю думать, что все это не стоит тратить время на неприятности - возможно, мне лучше просто изменить таблицы в браузере SQLite
Ответ 3
Отвечайте в аналогичном вопросе:
Запустите syncdb, чтобы добавить таблицы Django и South в базу данных.