2014-10-16 2 views
0

샘플 django 프로젝트에서 모델 응용 프로그램과 함께 실제로 마이그레이션을 적용하는 데 문제가 있습니다. this thread에서 조언을 따랐지만 여전히 작동하지 않습니다.적용 할 마이그레이션이 없습니다. 적용 할 마이그레이션이 있더라도

위의 링크에서 사용 된 것과 비교하여이 샘플 프로젝트에 대해 고유하다고 생각하는 것은 모델이 자체 앱과 해당 앱 내의 개별 파일에 저장된다는 것입니다. 모델 당 하나의 파일.

나는 makemigration을 사용할 수 있지만, migrate으로 변경하면 django는 모델 응용 프로그램 내에 마이그레이션 파일이 있음에도 불구하고 적용 할 마이그레이션이 없다고 말합니다.

다음은 내 프로젝트 구조입니다 :

| db.sqlite3 
| manage.py 
| 
+---project 
|  settings.py 
|  urls.py 
|  wsgi.py 
|  __init__.py 
|  
+---main 
| | admin.py 
| | forms.py 
| | tests.py 
| | urls.py 
| | views.py 
| | __init__.py 
| | 
| +---migrations 
| |  __init__.py 
| |  
| +---static 
| \---templates 
|  \---main 
|    login.html 
|    register.html 
|    
+---models 
| | answer.py 
| | application.py 
| | apps.py 
| | business.py 
| | group.py 
| | question.py 
| | user.py 
| | __init__.py 
| | 
| \---migrations 
|   0001_initial.py 
|   __init__.py 
|   
\---templates 
    \---_layouts 
      base.html 

내가 난처한 상황에 빠진 오전과 장고 자체가 만들어 그것을하는 마이그레이션을 적용 할 수없는 이유를 찾을 수 없습니다.

미리 감사드립니다.

업데이트 : 다니엘에 의해 제안하지만,이 같은 결과를주기 때문에 내가 하위 분류 appconfig가 함께 모델 '응용 프로그램'에 'apps.py'을 추가 한

. 수정 평 코드는 다음과 같습니다 :

apps.py :

from user import UserModel 
from business import BusinessModel 
from application import ApplicationModel 
from group import GroupModel 
from question import QuestionModel 
from answer import AnswerModel 

default_app_config = 'models.apps.ModelsConfig' 
+0

앱을 '모델'이라고 부르는 것이 좋습니다. 어쨌든 INSTALLED_APPS에 해당 앱이 포함되어 있습니까? –

+0

예, 설치된 앱에 포함되어 있습니다. – timsworth

답변

0

당신은 실제 models.py가 없습니다 :

from django.apps import AppConfig 

class ModelsConfig(AppConfig): 
    name = 'models' 
    verbose_name = "Models" 

초기화 모델의 응용 프로그램에 대한 평 Django는 그것을 하나로서 취급 할 것을 모르기 때문에 그 응용 프로그램에 파일. 이제 Django 1.7에서 허용되었지만 여전히 AppConfig 하위 클래스가 필요합니다 (the documentation 참조).

+0

그걸로 행운이 없다. 마이그레이션을 다시 작성한 다음 마이그레이션을 적용 할 때도 동일한 문제가 지속됩니다. 새 코드로 내 질문을 업데이트하겠습니다. – timsworth

관련 문제