Повинуйтесь тестирующему козлу - OperationalError - PullRequest
0 голосов
/ 05 марта 2019

Я прохожу тестируемую книгу с козами и наткнулся на эту ошибку:

django.db.utils.OperationalError: table lists_item has no column named list_id

Появляется только когда я на dev-сервере (когда я запускаю тесты, это работает как чудо).

Книга объясняет, что это может произойти здесь :

Если вы раскручиваете свой dev-сервер с помощью manage.py runserver, вы можете столкнуться с ошибкой базы данных "таблица lists_item не имеет столбца с именем list_id". Вам необходимо обновить вашу локальную базу данных, чтобы отразить изменения, которые мы внесли в models.py. Используйте manage.py migrate. Если это вызывает у вас сожаление по поводу IntegrityErrors, просто удалите [1] файл базы данных и повторите попытку.

Я делаю то, что он говорит, но ошибка не исчезает. Может быть, кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 05 марта 2019

Django's makemigrations отвечает за создание new migrations based on the changes detected to your models (https://docs.djangoproject.com/en/2.1/ref/django-admin/#django-admin-makemigrations).

Вы должны запустить makemigrations перед запуском migrate, так как последний применяет новые миграции, обнаруженные первым, к базе данных.

...