Chociaż tabela „myapp_tablename” już istnieje, błąd przestaje zgłaszać się po wykonaniu ./manage.py migracji myapp --fake, błąd bazy danych nie pokazuje takiej kolumny: myapp_mymodel.added_field.
Mam dokładnie ten sam problem!
1. Najpierw sprawdź numer migracji, który to powoduje. Załóżmy, że to: 0010.
2. musisz:
./manage.py schemamigration myapp --add-field MyModel.added_field
./manage.py migrate myapp
jeśli brakuje więcej niż jednego pola, musisz powtórzyć to dla każdego pola.
3.Teraz wylądujesz z wieloma nowymi migracjami, więc usuń ich pliki z myapp / migrations (0011 i dalej, jeśli chcesz dodać wiele pól).
4. uruchom to:
./manage.py migrate myapp 0010
Teraz spróbuj ./manage.py zmigrować myapp
Jeśli to nie zawiedzie, jesteś gotowy. Po prostu sprawdź dwukrotnie, czy nie brakuje żadnego pola.
EDYTOWAĆ:
Ten problem może również wystąpić, gdy masz produkcyjną bazę danych, dla której instalujesz South i pierwszą, początkową migrację utworzoną w innych duplikatach środowiska, które już masz w swojej bazie danych. Tutaj rozwiązanie jest dużo łatwiejsze:
Fałsz pierwszą migrację:
./manage migrate myapp 0001 --fake
Rzuć z resztą migracji:
./manage migrować myapp