Хотя таблица "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
Если не получится, вы готовы.Просто дважды проверьте, если какие-либо поля не пропущены.
РЕДАКТИРОВАТЬ:
Эта проблема также может возникнуть, если у вас есть производственная база данных, для которой вы устанавливаете Юг, и первая первоначальная миграция, созданная в другой средедублирует то, что у вас уже есть в вашей базе данных.Решение здесь намного проще:
Подделка первой миграции:
. / Управление миграцией myapp 0001 --fake
Сверните с остальными миграциями:
. / Управление миграцией myapp