Django 迁移无法检测到当 models.py 位于应用程序文件夹内的文件夹中时

4

我为我的项目保留的文件夹结构如下:

project:
    commons
        settings.py
        manage.py
    app
        models
            models.py
            __init__.py  ()

__init__.py

    from models import xx

on running ./manage.py makemigrations 

未检测到任何更改。

我已经添加了该应用程序

installed_apps of settings.py as 'app'.

这个在Django中能实现吗?

提前感谢您的时间。


你是否在models包的__init__.py文件中,从内部models.py导入Models模块? - user2390182
1
这可能是因为你需要执行 ./manage.py makemigrations appname。 - e4c5
@e4c5 我不这么认为。makemigrations 不带参数将为所有已安装的应用程序创建迁移。 - user2390182
@schwobaseggl,没错,纸上是这么说的.... - e4c5
请尝试在“models”包的“init.py”文件中导入“models.py”中的模型。 - Ajay M
这就是为什么我说要在makemigrations中添加应用标签。当makemigrations无法自动检测到更改时,告诉它你想要使用哪个应用程序名称就可以解决问题了。 - e4c5
1个回答

9

python manage.py makemigrations app

这会创建缺失的migrations文件夹。
或者您可以手动在应用程序中创建带有__init__.pymigrations文件夹。
它跳过了您的应用程序,因为该文件夹不存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接