我真是一筹莫及。经过十几个小时的故障排除,可能更多,我以为我终于可以做生意了,但接着我发现:

Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label 

网上关于这方面的信息太少了,没有解决方案可以解决我的问题。任何建议都将不胜感激。

我使用的是Python 3.4和Django 1.10。

从我的settings.py:

INSTALLED_APPS = [
    'DeleteNote.apps.DeletenoteConfig',
    'LibrarySync.apps.LibrarysyncConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我的app .py文件是这样的:

from django.apps import AppConfig


class DeletenoteConfig(AppConfig):
    name = 'DeleteNote'

and

from django.apps import AppConfig


class LibrarysyncConfig(AppConfig):
    name = 'LibrarySync'

当前回答

TL;DR:添加一个空白__init__.py为我解决了这个问题。

我在PyCharm中得到了这个错误,并意识到我的设置文件根本没有被导入。没有明显的错误告诉我这一点,但是当我在settings.py中放入一些无意义的代码时,它并没有引起错误。

我在local_settings文件夹中有settings.py。但是,我忘记在同一个文件夹中包含__init__.py,以便导入它。一旦我添加了这个,错误就消失了。

其他回答

在我的例子中,我在将代码从Django 1.11.11移植到Django 2.2时得到了这个错误。我正在定义一个自定义的FileSystemStorage派生类。在Django 1.11.11中,我在models.py中有如下一行:

from django.core.files.storage import Storage, DefaultStorage

然后在文件中我有类定义:

class MyFileStorage(FileSystemStorage):

然而,在Django 2.2中,我需要在导入时显式引用FileSystemStorage类:

from django.core.files.storage import Storage, DefaultStorage, FileSystemStorage

瞧!,错误消失。

注意,每个人都在报告Django服务器吐出的错误消息的最后一部分。然而,如果你向上滚动,你会在错误的中间找到原因。

还要检查您的迁移是否正常工作

Python3 manage.py makemigrations
Python3 manage.py migrate

TL;DR:添加一个空白__init__.py为我解决了这个问题。

我在PyCharm中得到了这个错误,并意识到我的设置文件根本没有被导入。没有明显的错误告诉我这一点,但是当我在settings.py中放入一些无意义的代码时,它并没有引起错误。

我在local_settings文件夹中有settings.py。但是,我忘记在同一个文件夹中包含__init__.py,以便导入它。一旦我添加了这个,错误就消失了。

当我尝试为一个由于git合并而存在畸形迁移的应用程序生成迁移时,我遇到了这个错误。如。

manage.py makemigrations myapp

当我删除它的迁移,然后运行:

manage.py makemigrations

错误没有发生,迁移成功生成。

我在使用。/manage.py shell时得到了这个 然后我不小心从根项目级目录导入

# don't do this
from project.someapp.someModule import something_using_a_model
# do this
from someapp.someModule import something_using_a_model

something_using_a_model()