Django 2.1.7:Makemigrations命令结果:“未在应用程序中检测到更改”

时间:2019-03-28 17:16:58

标签: django

(我知道许多Django用户都遇到了同样的问题。

我在线上查看了许多解决方案,但到目前为止,没有一个对我有用。

我已经按照Django官方教程中的说明设置了apps.pysettings.pymodels.py文件(请参见下面的3个文件)。

当我进入终端时:

$ python3 manage.py makemigrations munichliving_app

它返回:

  

在应用程序“ munichliving_app”中未检测到更改

INSTALLED_APP中的

(file settings.py)->我一次添加并测试了两个: 'munichliving_app'和 'munichliving_app.apps.MunichLivingConfig'

apps.py文件:https://pastebin.com/raw/qaYy1x44

setting.py文件:https://pastebin.com/raw/cSsbfPsx

models.py:https://pastebin.com/raw/U0QeM16k

Django官方教程指出,我应该看到以下内容:

“民意调查”的迁移:

民意调查/迁移/0001_initial.py:

- Create model Choice
- Create model Question
- Add field question to choice 

谢谢。

2 个答案:

答案 0 :(得分:1)

您的应用是munichliving(包含models.py的模块),但是您在munichliving_app设置中拥有INSTALLED_APPSmunichlivin_app是项目文件夹(包含settings.py的文件夹)。它通常不包含模型,因此您通常不必将其添加到INSTALLED_APPS或对其进行迁移。

在您的'munichliving_app'中将'munichliving'替换为INSTALLED_APPS

接下来,我将删除您的apps.py,因为它似乎没有被使用。如果确实保留它,则将其更改为name='munichliving', then use'munichliving.apps.MunichLivingConfig'in INSTALLED_APPS`。

最后,使用以下方式创建迁移

./manage.py makemigrations munichliving

答案 1 :(得分:0)

尝试一下:

python manage.py migrate --fake appname

或在您的应用中删除迁移文件夹,转到数据库并删除django_migrations表中的文件,然后再次迁移:

python manage.py makemigrations
python manage.py migrate
相关问题