Хотя таблица «myapp_tablename» уже существует, ошибка прекращается после того, как я это сделал ./manage.py переносим myapp --fake, в DatabaseError такой столбец не отображается: myapp_mymodel.added_field.
У меня точно такая же проблема!
1. Сначала проверьте номер миграции, который вызывает это. Предположим, что это: 0010.
2. Вам нужно:
./manage.py schemamigration myapp --add-field MyModel.added_field
./manage.py migrate myapp
если пропущено более одного поля, вы должны повторить его для каждого поля.
3. Теперь вы попадаете с кучей новых миграций, поэтому удалите их файлы из myapp / migrations (0011 и далее, если вам нужно добавить несколько полей).
4. Запустите это:
./manage.py migrate myapp 0010
Теперь попробуйте ./manage.py перенести myapp
Если не получится, ты готов. Просто перепроверьте, если какие-либо поля не пропущены.
РЕДАКТИРОВАТЬ:
Эта проблема также может возникнуть, если у вас есть производственная база данных, для которой вы устанавливаете Юг, и первая первоначальная миграция, созданная в другой среде, дублирует то, что у вас уже есть в вашей базе данных. Решение здесь намного проще:
Подделка первой миграции:
./manage migrate myapp 0001 - поддельный
Ролл с остальными миграциями:
./manage перенести myapp