Django模型“不声明一个显式的app_Label”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (248)

我的智慧到了尽头。经过十几个小时的故障排除,也许更多,我以为我终于开始工作了,但后来我得到了:

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

网络上的信息如此之少,没有解决办法解决我的问题。任何建议都将不胜感激。

我正在使用Python#number0#和Django 1.10。

来自我的背景:

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',
]

我的apps.py文件看起来如下:

from django.apps import AppConfig


class DeletenoteConfig(AppConfig):
    name = 'DeleteNote'

from django.apps import AppConfig


class LibrarysyncConfig(AppConfig):
    name = 'LibrarySync'
提问于
用户回答回答于

你是否没有将应用程序名称放入设置文件中?myAppNameConfig是在apps.py处生成的默认类。.management e.py createapp myAppName命令。何地myAppName是你的应用程序的名字。

设置...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文件中添加以下代码,可以更改其稍后的外观。

myAppName/apps.py

class myAppNameConfig(AppConfig):
    name = 'myAppName'
    verbose_name = 'A Much Better Name'
用户回答回答于

我用这个./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()

扫码关注云+社区