Django 4.2.1 with django-cookiecutter 2023.05.09:makemigrations不为新模型创建迁移文件

pdsfdshx  于 2023-05-19  发布在  Go
关注(0)|答案(1)|浏览(140)

我在MacOS Ventura 13.3.1上使用Django 4.2.1和最新版本的django-cookiecutter (2023.05.09),并且我在获取makemigrations命令来为我添加到Django项目中的新模型创建迁移文件时遇到了麻烦。
以下是我到目前为止所做的:
我将新模型添加到app目录下的models.py文件中:

from django.db import models

class TestModel(models.Model):
    name = models.CharField(max_length=50)

我使用makemigrations命令为应用程序创建了一个空的迁移文件:

python manage.py makemigrations myapp --empty

我再次运行makemigrations命令为新模型创建迁移,但它没有创建新的迁移文件:

python manage.py makemigrations

我已经仔细检查了TestModel应用程序是否包含在settings.py文件的INSTALLED_APPS列表中,并且检查了models.py文件中没有语法错误。
我也试着运行check命令,看看我的代码是否有任何问题,但它没有显示任何问题:

python manage.py check

我还尝试运行makemigrations命令和--verbosity 3选项以获得更详细的输出,但它没有显示任何与TestModel应用相关的错误或警告。
我还检查了迁移文件是否具有正确的名称,并且位于正确的目录中。迁移文件名为0001_initial.py,位于myapp/migrations/目录中。
下面是我的目录树:

└─ base
   ├─ .dockerignore
   ├─ .editorconfig
   ├─ .envs
   │  ├─ .local
   │  │  ├─ .django
   │  │  └─ .postgres
   │  └─ .production
   │     ├─ .django
   │     └─ .postgres
   ├─ .pre-commit-config.yaml
   ├─ .readthedocs.yml
   ├─ CONTRIBUTORS.txt
   ├─ LICENSE
   ├─ MailHog
   ├─ README.md
   ├─ SECURITY.md
   ├─ base
   │  ├─ __init__.py
   │  ├─ conftest.py
   │  ├─ contrib
   │  │  ├─ __init__.py
   │  │  └─ sites
   │  │     ├─ __init__.py
   │  │     └─ migrations
   │  │        ├─ 0001_initial.py
   │  │        ├─ 0002_alter_domain_unique.py
   │  │        ├─ 0003_set_site_domain_and_name.py
   │  │        ├─ 0004_alter_options_ordering_domain.py
   │  │        ├─ __init__.py
   │  ├─ media
   │  ├─ static
   │  │  ├─ css
   │  │  ├─ fonts
   │  │  ├─ images
   │  │  ├─ js
   │  │  ├─ sass
   │  │  └─ webpack_bundles
   │  ├─ templates
   │  │  ├─ 403.html
   │  │  ├─ 404.html
   │  │  ├─ 500.html
   │  │  ├─ account
   │  │  │  ├─ account_inactive.html
   │  │  │  ├─ base.html
   │  │  │  ├─ email.html
   │  │  │  ├─ email_confirm.html
   │  │  │  ├─ login.html
   │  │  │  ├─ logout.html
   │  │  │  ├─ password_change.html
   │  │  │  ├─ password_reset.html
   │  │  │  ├─ password_reset_done.html
   │  │  │  ├─ password_reset_from_key.html
   │  │  │  ├─ password_reset_from_key_done.html
   │  │  │  ├─ password_set.html
   │  │  │  ├─ signup.html
   │  │  │  ├─ signup_closed.html
   │  │  │  ├─ verification_sent.html
   │  │  │  └─ verified_email_required.html
   │  │  ├─ base.html
   │  │  ├─ pages
   │  │  │  ├─ about.html
   │  │  │  └─ home.html
   │  │  └─ users
   │  │     ├─ user_detail.html
   │  │     └─ user_form.html
   │  ├─ users
   │  │  ├─ __init__.py
   │  │  ├─ adapters.py
   │  │  ├─ admin.py
   │  │  ├─ api
   │  │  ├─ apps.py
   │  │  ├─ context_processors.py
   │  │  ├─ forms.py
   │  │  ├─ managers.py
   │  │  ├─ migrations
   │  │  │  ├─ 0001_initial.py
   │  │  │  ├─ __init__.py
   │  │  ├─ models.py
   │  │  ├─ tasks.py
   │  │  ├─ urls.py
   │  │  └─ views.py
   │  ├─ utils
   │  │  ├─ __init__.py
   │  │  └─ storages.py
   │  └─ website
   │     ├─ __init__.py
   │     ├─ __pycache__
   │     ├─ admin.py
   │     ├─ apps.py
   │     ├─ migrations
   │     │  ├─ 0001_initial.py
   │     │  ├─ __init__.py
   │     ├─ models
   │     │  ├─ __init__.py
   │     ├─ models.py
   │     ├─ tests.py
   │     ├─ urls.py
   │     └─ views.py
   ├─ config
   │  ├─ __init__.py
   │  ├─ api_router.py
   │  ├─ asgi.py
   │  ├─ celery_app.py
   │  ├─ settings
   │  │  ├─ __init__.py
   │  │  ├─ base.py
   │  │  ├─ local.py
   │  │  ├─ production.py
   │  │  └─ test.py
   │  ├─ urls.py
   │  ├─ websocket.py
   │  └─ wsgi.py
   ├─ docs
   ├─ dump.rdb
   ├─ local.yml
   ├─ locale
   │  └─ README.rst
   ├─ manage.py
   ├─ merge_production_dotenvs_in_dotenv.py
   ├─ package-lock.json
   ├─ package.json
   ├─ production.yml
   ├─ pyproject.toml
   ├─ requirements
   ├─ setup.cfg
   ├─ staticfiles
   ├─ tests
   ├─ webpack
   └─ webpack-stats.json

什么原因会导致makemigrations不为我的新模型创建迁移文件?我是否可以采取其他步骤来诊断问题?任何帮助将不胜感激!

jhiyze9q

jhiyze9q1#

我没有试过,但有一个模型文件夹和模型文件...这可能导致model.py无法找到www.example.com:

│     ├─ models
   │     │  ├─ __init__.py
   │     ├─ models.py

从你的问题来看,不清楚你是在使用哪个应用程序/模型。
该特定应用程序的初始迁移文件中有什么内容?

相关问题