Согласно the Django docs, если я хочу, чтобы создать начальную миграцию для приложения, я должен делать:Django 1.7 - создать начальную миграцию
$ python manage.py makemigrations my_app
Однако, если я делаю это в моем проекте, я получаю:
не обнаружено в приложении «my_app» изменения
, даже если нет миграции для my_app еще - my_app/миграции/папка не только имеет __init__.py
файл.
У меня нет модели managed = False в моей модели. В рассматриваемых классах моделей даже не определен класс Meta. Что еще может помешать Django обнаружить изменения модели?
Как Django обнаруживает, есть ли/когда есть изменения?
Update:
Я хотел бы добавить, что миграция для этого конкретного приложения работала нормально, когда я использую Южную миграцию. Это происходит только после перехода на Django 1.7 и встроенных миграций, что он больше не может понять, когда/когда есть изменения модели для этого конкретного приложения (миграция для других приложений работает нормально).
Правильно ли определены ваши модели? I.e., наследуются ли они от 'models.Model'? –
Да, они наследуются от 'models.Model'. Миграции для этих моделей отлично работали, когда я использовал Юг вместо миграции Django 1.7. Когда я столкнулся с вышеупомянутой проблемой, на самом деле я был в процессе перехода на Django 1.7. Я следовал инструкциям «Обновление с юга», а затем заметил, что в одном приложении отсутствуют миграции. – Troy
Попробуйте изменить модель и запустить 'python manage.py makemigrations my_app', чтобы узнать, что такое результат (тогда вы можете отменить изменение модели и удалить миграцию, оставив незадействованный код и базу данных). – mcastle