Решенные
Интересно:
Джанго makemigrations не обнаруживает проекта/приложения/MyApp
./manage.py makemigrations apps.myapp
-> "? 'App apps.myapp' может не найти ли в INSTALLED_APPS"./manage.py makemigrations myapp
-> Работы../manage.py makemigrations
-> "Никаких изменений не обнаружено" (это не обнаружить изменения, если MyApp находится в корне проекта)
Оригинальный вопрос:
Структура проекта
myproject/
myproject/
apps/
myapp/
__init__.py
admin.py
models.py
urls.py
views.py
tests.py
myapp2/
myapp3/
__init__.py
static/
templates/
virtualenv/
manage.py
myproject/apps/myapp/models.py
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True)
Settings.py
INSTALLED_APPS = [
# ...
'apps.myapp',
'apps.myapp2',
'apps.myapp3',
]
makemigrations
не может найти "MyApps" это не в корне проекта.
В то же время migrate
найдет его.
$ ./manage.py makemigrations apps.myapp
App 'apps.myapp' could not be found. Is it in INSTALLED_APPS?
$ ./manage.py migrate apps.myapp
CommandError: App 'apps.myapp' does not have migrations.
Разве это не «давайте наши приложения в папку приложений» практика действует больше, я делаю что-то неправильно, или это ошибка команды makemigrations
?
Note1: перед запуском makemigrations
я удалил папку «migrations» myapp, но я уверен, что это не имеет значения. Он был восстановлен, когда приложение было в корне проекта.
Примечание2: Я сделал исследование Google и StackOverflow, я нашел только подобные вопросы, когда решение было либо «добавить приложение к settings.py», «бегущая makemigrations перед тем мигрировать» или «некоторые миграции проблемы между Django 1.6 и 1,7" . Думаю, ничто из этого не касается моей ситуации.
RE: Note1, да это важно - если нет папки миграции, она не будет создавать его и не будет создавать миграции. –
Создает папку миграции, если myapp находится в корне проекта. – danbal
Я начал новое приложение, перемещенное в каталоге «apps», у него есть папка «migrations». Я получаю ту же ошибку. – danbal