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

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'

当前回答

我有一个类似的问题,但我能够解决我的通过明确指定app_label使用元类在我的模型类

class Meta:
    app_label  = 'name_of_my_app'

其他回答

我在使用。/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()

对于PyCharm用户:我有一个错误使用不“干净”的项目结构。

Was:

project_root_directory
└── src
    ├── chat
    │   ├── migrations
    │   └── templates
    ├── django_channels
    └── templates

Now:

project_root_directory
├── chat
│   ├── migrations
│   └── templates
│       └── chat
├── django_channels
└── templates

这里有很多好的解决方案,但我认为,首先,你应该清理你的项目结构或调优PyCharm Django设置之前,设置DJANGO_SETTINGS_MODULE变量等等。

希望它能帮助到别人。欢呼。

我刚才也遇到了同样的问题。我已经通过在应用程序名称上添加一个名称空间来修复我的。希望有人觉得这有帮助。

apps.py

from django.apps import AppConfig    

class SalesClientConfig(AppConfig):
        name = 'portal.sales_client'
        verbose_name = 'Sales Client'

您是否遗漏了将应用程序名称放入设置文件中? myAppNameConfig是由.manage.py createapp myAppName命令在apps.py中生成的默认类。其中myAppName是应用程序的名称。

settings.py

INSTALLED_APPS = [
'myAppName.apps.myAppNameConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

这样,设置文件就会找到您想要调用应用程序的内容。您可以通过在apps.py文件中添加以下代码来更改它的外观

我的应用名称/应用程序.py

class myAppNameConfig(AppConfig):
    name = 'myAppName'
    verbose_name = 'A Much Better Name'

读完另一个答案后。我能理解。根据不同的情况使用不同的方法。 我来解释一下。我是怎么破案的。这也会帮助其他人

test_model.py pycharm和模型类的pycharm映射中没有显示错误或警告

在测试运行时显示如下错误

python manage.py test cheese

解决方案

from everych.cheese.models import Dodavatel

没有任何错误的输出:

结论:大多数建议在测试类中导入应用程序模型类的答案是有问题的。检查导入是否正确