我在运行Django 1.10.6的Ubuntu机器上安装Django应用程序时出现严重问题。Django 1.10 makemigrations错误
我习惯于使用旧版本的Django,现在我无法安装我的webapp。这里的情况:
我有一个名为myproject的Django项目。文件结构是:
(BASEDIR)/manage.py
(BASEDIR)/mycommon/ # I will discuss mycommon below
(BASEDIR)/myproject/
(BASEDIR)/myproject/settings.py
(BASEDIR)/myproject/urls.py
(BASEDIR)/myproject/views.py
(BASEDIR)/myproject/wsgi.py
(BASEDIR)/myproject/models/
(BASEDIR)/myproject/models/__init__.py
(BASEDIR)/myproject/models/models.py
事实证明,这个项目我需要把我的模型在一个共同的包,因为还有另外一个Python应用程序(使用双绞线是自举的Django)需要访问这些模型。我将把这个包叫做“mycommon”。所以,我的 “真实” 的车型在这里:
(BASEDIR)/mycommon/
(BASEDIR)/mycommon/utils.py
(BASEDIR)/mycommon/models/
(BASEDIR)/mycommon/models/__init__.py
(BASEDIR)/mycommon/models/models.py
所以Django的设置文件是在(BASEDIR)/myproject/settings.py和INSTALLED_APPS参数设置为这样:
INSTALLED_APPS = (
'myproject.models',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
)
最后,注意,MyProject的/模型/ models.py很简单,因为它只是使用了mycommon型号:
from django.db import models
from mycommon.models.models import *
到目前为止好,这是在较旧版本的Django精细的结构。无论如何,我开始用空MYSQL数据库(创建,但空的),现在我回去(BASEDIR)并运行此:
python manage.py makemigrations mycommon.models
不幸的是,我得到这样的错误:
RuntimeError: Model class mycommon.models.models.SomeModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
所以我究竟做错了什么?