Невозможно создать базу данных с нуля после того, как вы поработали с командой squashmigrations в django
Я пытался выполнить команду squashmigrations в django, и через некоторое время мне потребовалось удалить db и начать с нуля (проблема также возникает при загрузке репозитория с GitHub и попытке воссоздать проект). При выполнении python manage.py makemigrations
или python manage.py migrate
error:
Выкладываю models.py, который цитируется в последней строке лога:
meal_plan/models.py:
Я попытался сбросить миграции на оригинальном репозитории, используя эти инструкции how-to-reset-migrations безрезультатно
Может ли кто-нибудь помочь мне найти ошибку?
Спасибо большое
Просто удалите все папки миграции и выполните миграцию вручную, используя следующую команду:
python manage.py makemigrations appname
python manage.py sqlmigrate appname 0001
python manage.py migrate
И посмотрите, решит ли это вашу ошибку
Наконец-то нашел ошибку, вызывающую ошибку миграции. Дело не в команде squashmigrations, а в файле forms.py
class RecipeSimpleForm(forms.ModelForm):
...
RECIPES = [(x.id, x.title) for x in Recipe.objects.all()]
title = forms.ChoiceField(widget=forms.Select, choices=RECIPES)
class Meta:
model = Recipe
fields = ["title"]
Думаю, проблема в том, что я вызываю Recipe.objects.all() до того, как БД была создана.