kentuck1213
@kentuck1213

Как правильно поступить когда миграция требует уже удаленного модуля из пакета?

Был модуль из пакета(pip) ckeditor_uploader. После того как он мне стал ненужен я удалил его везде, а миграция при её запуске начинает требовать этот модуль :
$ python3.5 manage.py migrate
......
ile "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/alexander/Numero_Project/poliv/src/news/migrations/0010_auto_20160419_1503.py", line 5, in <module>
    import ckeditor_uploader.fields
ImportError: No module named 'ckeditor_uploader'

Как быть в токой ситуации ?
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ответы на вопрос 2
Voskresenskyi
@Voskresenskyi
Начинающий джанговод!
- изначально удалите его в установленных приложениях!
- manage.py makemigrations appname (сначала нужно сделать миграции в приложении)
- manage.py migrate! (сделать миграции в проекте...)
Ответ написан
Xorder
@Xorder
PHP/Python developer
В базе данных есть таблица `django_migrations` зайдите в неё и удалите записи связанные с удаленным модулем.

UPD: если не получится, для приложения news очистите папку migrations (кроме файла __init__.py) и удалите из таблицы `django_migrations` записи миграций для приложения news:

DELETE FROM `django_migrations` WHERE `app`='news'

После этого снова сделайте:

python manage.py makemigrations (это создаст начальную миграцию для news)
python manage.py migrate
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы