Во-первых, вы не можете выбирать миграции для запуска.migrate core 0040
означает запускать все миграции до 0040. Другими словами, он не будет запускать 0041, но будет запускать 0001-0040.
Теперь,это немного отходит от вашего вопроса, но если вы еще не перевели этот проект в производство, вам не нужны все эти миграции.Предполагая, что все они являются схемами, вы можете вернуться к нулю с помощью:
python manage.py migrate core zero
Затем удалите их все (включая 0001_initial.py) и просто выполните снова:
python manage.py schemamigration --initial core
Чтобы восстановитьначальная миграция.Он будет основываться на текущем состоянии ваших моделей, исключая необходимость в 40 миграциях.
Всегда полезно сжимать ваши миграции таким образом, прежде чем переходить новый код в производство.Так как это первый запуск, вы можете удалить их все и начать с нуля, но в будущих итерациях, если вы создадите 5 миграций в ходе разработки, перед тем как выполнить фиксацию, выполните откат до первой из них, затем удалите эти 5 изатем создайте новую схему миграции.Результатом является всего одна миграция со всеми изменениями этих 5. Затем вы можете зафиксировать это и выполнить миграцию в рабочей среде.
Возможно, это не решит вашу проблему полностью, но определенно упростит отладку.