Py学习  »  Django

Django 2.1无法在makemigration期间检测到我的新模型

Wreeecks • 5 年前 • 1739 次点击  

我一直在寻找如何解决这个问题。这些是我在发帖之前试过的。不幸的是,他们都没有成功。

  • 在设置的已安装应用程序列表中添加了应用程序名称(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 .

希望有人觉得这个有用。谢谢你的回复。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49694
 
1739 次点击  
文章 [ 1 ]  |  最新文章 5 年前
ruddra
Reply   •   1 楼
ruddra    6 年前

确保有一个 migrations 应用程序中的文件夹中有一个 __init__.py 在里面。“模型”文件夹也是如此,您应该确保 __初始年 在那里归档。否则python将无法将其识别为模块。 同样在init文件(对于model)中,需要导入如下模型类:

from .project import ProjectModel

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