未检测到主项目中的迁移

Migration in main project not detected

我有一个主项目和一些应用程序:

proj
├── proj
│   ├── admin.py
│   ├── forms.py
│   ├── __init__.py
│   ├── models.py
│   ├── settings.py
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
├── static
├── manage.py
├── app1
├── app2
└── app3

proj有一些模型,但是makemigrations没有检测到。如果我强迫它:

» python manage.py makemigrations proj
App 'proj' could not be found. Is it in INSTALLED_APPS?

嗯,当然没有安装:它不是一个应用程序:它是主项目!我没有发明这种结构:django-admin startproject 是设置它的人。

如何说服 django 识别主项目中的模型?

默认的 Django 项目布局不希望您将迁移放在 proj/proj 中。如果你想这样做,你需要添加 'proj' 到你的 INSTALLED_APPS

一种常见的方法是创建一个应用程序,例如core 并将特定于您的项目的模型放在那里。