Django 2.1在进行迁移期间无法检测到我的新模型

时间:2018-12-28 05:51:19

标签: django django-models django-migrations

我一直在寻找解决方法。这些是我在发布此问题之前尝试过的事情。不幸的是,他们都没有工作。

  • 在设置的INSTALLED_APPS列表中添加了应用名称(myapp),此操作无效。

  • 尝试仅添加应用名称,但效果不佳。因此,为了安全起见,我现在使用完整的点划线路径(myapp.settings.MyappConfig)。

  • 已删除__pycache__/*.pyc

当我运行$ python manage.py showmigrations时,我可以看到已识别出“ myapp”,但是没有迁移。

我已将所有模型放在一个文件夹中进行整理。请参阅下面的我的文件夹结构。我在这里想念什么?这真令人沮丧,请帮助我。预先感谢!

mysite
|__myapp
|   |__ models
|   |   |__ __init__.py
|   |   |__ project.py 
|   |
|   |___ apps.py
|   |___ admin.py #<-- register your models here
|
|__mysite
   |__ settings.py

更新:已修复!


我能够通过在admin.py中注册模型来生成迁移脚本

https://docs.djangoproject.com/en/2.1/ref/contrib/admin/

现在,您可以将模型组织到文件夹中。无需在__init__.py中定义模块。

希望有人发现这很有用。感谢您的所有答复。

1 个答案:

答案 0 :(得分:0)

确保应用程序内部有一个migrations文件夹,并且其中有一个__init__.py。对Models文件夹也是如此,您应确保那里有__init__.py文件。否则,python将无法将其识别为模块。 同样在init文件(用于模型)中,您需要导入Model类,如下所示:

from .project import ProjectModel

或者您可以运行python manage.py makemigrations <app_name>创建迁移文件夹。