首页 > 解决方案 > Django 2.1 在 makemigrations 期间无法检测到我的新模型

问题描述

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

当我运行时$ 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.

希望有人觉得这很有用。感谢所有的回复。

标签: djangodjango-modelsdjango-migrations

解决方案


确保migrations应用程序内有一个文件夹,并且里面有一个文件夹__init__.py。模型文件夹也是如此,您应该确保那里有__init__.py文件。否则 python 不会将其识别为模块。同样在 init 文件(对于模型)中,您需要像这样导入模型类:

from .project import ProjectModel

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


推荐阅读