У меня есть проект Django, который использует приложение South для обработки миграции схемы и данных. В одном из моих приложений у меня есть миграции (номер 0004), который отвечает за сантехнику загрузки данных из JSon файла:Не удалось загрузить светильники с югом в проекте Django
class Migration(DataMigration):
def forwards(self, orm):
from django.core.management import call_command
call_command("loaddata", "dummy_data.json")
В том же проекте я пытаюсь добавить функциональность из «мягкого удаления», который нуждается в добавлении еще один подал , определяется как:
deleted_at = models.DateTimeField(blank=True, null=True)
на основе этих изменений я добавил новую миграцию, которая имеет номер 0009. После этого я начинаю мигрировать команды, которые дают мне ошибку:
DatabaseError: Problem installing fixture 'C:/Users/Grzegorz/PycharmProjects/Dummy Project/Dummy\app_subapp\fixtures\dummy_data.json': Could not load app_subapp.DummyData(pk=1): (1054, "Unknown column 'deleted_at' in 'field list'")
Это довольно странно, потому что эта ошибка возникает при применении миграции 0004, которая ранее работала нормально и из точки Южного процесса на этом шаге подана deleted_at
не должна и не существует в моей базе данных. Я обнаружил, что перемещение миграции с загрузкой с этапа 0004 после 0009 решает проблему, но выглядит очень грязно и не очень хорошо подходит для решения этой проблемы.
Есть ли у вас есть советы, как я могу решить эту проблему и правильно обработать миграцию и привязку к югу?
Если вы никогда не используете значения по умолчанию в полях отношений, это нормально, в противном случае вы * имеете * для работы с миграциями данных. –