即使要应用迁移,也不会应用迁移

时间:2014-10-16 13:40:04

标签: python django

我在我的示例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

我很难过,无法找到django无法应用本身迁移的原因。

提前致谢。

更新

我已经添加了一个apps.py'对模特' app'使用Daniel建议的子类AppConfig,但它给出了相同的结果。修改后的.py代码如下:

apps.py:

from django.apps import AppConfig

class ModelsConfig(AppConfig):
    name = 'models'
    verbose_name = "Models"
模型应用的

init .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'

1 个答案:

答案 0 :(得分:0)

你在该应用程序中没有实际的models.py文件,因此Django不知道将其视为一个。现在允许在Django 1.7中使用,但仍需要AppConfig子类,请参阅the documentation