2016-11-03 3 views
2

я поставил простой проект вместе с двумя приложениями в apps каталоге:Джанго поддержка 1,10 миграции для приложений в подкаталогах

myproject/ 
| manage.py 
|-- myproject/ 
| | __init__.py 
| | settings.py 
| | urls.py 
| | wsgi.py 
|-- apps/ 
| | __init__.py 
| | app1/ # with models.py and views.py 
| | app2/ # with models.py and views.py 

Я обновил настройку INSTALLED_APPS включить apps.app1 и apps.app2.

apps.app1 является единственным приложением с моделями:

class Thing(models.Model): 
    stuff = models.CharField(max_length=255) 

Если я бегу ./manage.py check и он возвращается в порядке.

Однако, если я пытаюсь запустить ./manage.py makemigrations apps.app1 я получаю следующее сообщение об ошибке:

App 'apps.app1' could not be found. Is it in INSTALLED_APPS? 

Но apps.app1 явно в файле настроек, здесь файл настроек (копия и вставить):

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'apps.app1', 
    'apps.app2', 
] 

Другие вещи, которые я читал, по-видимому, указывают, что в подкаталогах должно быть возможно использование приложений Django.

На самом деле это невозможно? ИЛИ, если это возможно, что я делаю неправильно?

ответ

2

При запуске makemigrations вы должны использовать приложение label (например app1), не name (например apps.app1).

./manage.py makemigrations app1 
+0

Спасибо. Это было простое решение того, с чем я боролся в течение двух дней. – chadgh

Смежные вопросы