gpt4 book ai didi

Django makemigrations 未检测到项目/apps/myapp

转载 作者:行者123 更新时间:2023-12-02 08:49:11 25 4
gpt4 key购买 nike

已解决

有趣的是:

  • ./manage.py makemigrations apps.myapp ->“应用程序“apps.myapp”可以找不到。是否在 INSTALLED_APPS 中?”
  • ./manage.py makemigrations myapp -> 有效。
  • ./manage.py makemigrations ->“未检测到更改”(如果 myapp 位于项目根目录中,它会检测到更改)



原始问题:

项目结构

myproject/
myproject/
apps/
myapp/
__init__.py
admin.py
models.py
urls.py
views.py
tests.py
myapp2/
myapp3/
__init__.py
static/
templates/
virtualenv/
manage.py

myproject/apps/myapp/models.py

from django.db import models

class MyModel(models.Model):
name = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True)

设置.py

INSTALLED_APPS = [
# ...
'apps.myapp',
'apps.myapp2',
'apps.myapp3',
]

makemigrations 找不到不在项目根目录中的“myapps”。
同时,migrate 确实找到了它。

$ ./manage.py makemigrations apps.myapp
App 'apps.myapp' could not be found. Is it in INSTALLED_APPS?

$ ./manage.py migrate apps.myapp
CommandError: App 'apps.myapp' does not have migrations.

“让我们将应用程序放入应用程序文件夹”的做法不再有效吗?我是否做错了什么,或者这是 makemigrations 命令的错误?

注意1:在运行makemigrations之前,我删除了myapp的“migrations”文件夹,但我很确定这并不重要。当应用程序位于项目根目录中时,它确实被重新创建。

注2:我确实研究了google和stackoverflow,我只发现了类似的问题,解决方案是“将应用程序添加到settings.py”,“在迁移之前运行makemigrations”或“Django 1.6和1.7 英寸。我认为这些都不适合我的情况。

最佳答案

您可能已删除应用程序内的迁移文件夹或 __init__.py里面<app>/migrations/文件夹,新建一个

myproject/
apps/
myapp/
migrations/
__init__.py

您始终可以单独进行 makemigrations,而无需执行上述步骤

python manage.py makemigrations myapp

关于Django makemigrations 未检测到项目/apps/myapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39679325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com