Некоторое время назад у нас тоже была такая же проблема. Если один файл в папке миграции удаляется, это может привести к хаосу. Мы сделали следующее:
Поскольку вы упомянули, что вы создаете новую базу данных , вы можете, вероятно, сделать
- Удалить все файлы в папке
migrations
, оставив файл __init__.py
(В случае удаления просто создайте новый пустой файл с именем __init__.py
).
Затем попробуйте команду makemigrations
. В большинстве случаев это работает, так как все файлы миграции восстанавливаются.
- Если описанный выше метод не работает, вам придется создавать таблицы вручную. Это немного тяжелая работа, так как вам придется вручную создавать все поля в такой таблице. Если вы не знаете, как создавать вручную (или беспокоитесь о том, что таблицы могут испортиться), вы можете проверить базу данных любого предыдущего проекта Django и проверить, какие свойства присваиваются каждому полю различных типов.
Шаг 2 не такой грязный, если вы правильно выполняете процедуры. Например, вы определили ImageField как (например, в MySQL)
image = ImageField(upload_to='/pics', null=True, blank=True)
В базе данных это просто поле VARCHAR
'image' varchar(100) DEFAULT NULL,
Эти методы работали для нас в 2 наших проектах, еще раз я бы сказал, что вы можете попробовать это, если вы создаете новую базу данных. Если вы работаете с существующей базой данных, это может быть проблематично.