Трудности новичка, использующие юг с pycharm - DatabaseError: нет такой таблицы: south_migrationhistory

Я использую sqlite3 и pycharm, чтобы узнать больше о django, и гуглюл, чтобы найти, что юг рекомендуется, чтобы было легче модифицировать модели после их создания.

Я пытаюсь следовать совету на http://south.aeracode.org/docs/tutorial/part1.html.

Наибольший успех, который у меня был до сих пор, - это создание простой модели и запуск syncdb перед добавлением на юг в instal_apps. Таким образом создаются начальные таблицы, и я получаю шанс создать суперпользователя. (Администратор Django, кажется, беспокоится, если нет пользователей).

Затем я добавляю юг в instal_apps и запускаю закладки схемы django_manage.py --initial

Вроде нормально работает. Создается новый каталог, называемый миграцией, с несколькими файлами в папке моего приложения и ободряющим сообщением. "Создано 0001_initial.py. Теперь вы можете применить эту миграцию с помощью: ./manage.py перенести закладки"

Следующий шаг - django_manage.py"Перенос миграций закладок создает следующее сообщение об ошибке django.db.utils.DatabaseError: нет такой таблицы: south_migrationhistory.

Я думал, что таблица будет создана на первом этапе схемы миграции. Что мне не хватает? Кто-нибудь может помочь?

Marg

3 ответа

Юг использует собственную таблицу, чтобы отслеживать, какие миграции были применены. Прежде чем вы сможете применить любые миграции, это должно быть создано с использованием python ./manage.py syncdb,

Помимо настройки на юг, вы найдете syncdb, иногда необходимый для приложений не на юге в вашем проекте, например, очень распространенный django.contrib.auth,

Обратите внимание, что для удобства вы можете запускать оба одновременно

python ./manage.py syncdb --migrate

Мое последнее (неудачное) усилие было следующим

  1. Создать приложение - синхронизировать БД - суперпользователь создан
  2. Тестовый запуск - экран admin показывает основные таблицы
  3. Добавьте south и syncdb из командной строки с помощью таблицы manage.py syncdb - south_migrationhistory. Добавить базовую модель ванили
  4. Опробовал различные комбинации manage.py syncdb –manage и schemamigration из Pycharm (при запуске из pycharm каталог приложения создается в приложении - если при запуске из командной строки каталог не создается).
  5. Экран администрирования Django показывает таблицу - но если я пытаюсь редактировать таблицу, она говорит, что она не существует
  6. Проверьте структуру базы данных с помощью браузера SQLite - таблицы для вновь созданной модели не существует

Я начинаю думать, что все это не стоит тратить время впустую - может быть, мне лучше просто изменить таблицы в браузере SQLite

Ответьте на аналогичный вопрос:

Запустите syncdb, чтобы добавить таблицы Django и South в базу данных.

Другие вопросы по тегам