我在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不为我的新模型创建迁移文件?我是否可以采取其他步骤来诊断问题?任何帮助将不胜感激!
1条答案
按热度按时间jhiyze9q1#
我没有试过,但有一个模型文件夹和模型文件...这可能导致model.py无法找到www.example.com:
从你的问题来看,不清楚你是在使用哪个应用程序/模型。
该特定应用程序的初始迁移文件中有什么内容?