RuntimeError:模型类xxx.xxx未声明显式的app_label,并且不在INSTALLED_APPS

时间:2018-07-21 19:50:45

标签: python django

尝试运行django 2应用时出现以下错误

stacktrace中的几行

  

文件   “ /Users/shobi/Projects/emailtool/emailtool/frontend/models/AwsSettings.py”,   

中的第4行      

从emailtool.frontend.models.AwsRegions导入AwsRegions文件“ /Users/shobi/Projects/emailtool/emailtool/frontend/models/AwsRegions.py”,   

中的第4行      

class AwsRegions(models.Model):文件“ /Users/shobi/Projects/emailtool/env/lib/python3.6/site-packages/django/db/models/base.py”,

     

第108行,

     

“ INSTALLED_APPS”。 %(模块,名称)RuntimeError:模型类emailtool.frontend.models.AwsRegions.AwsRegions没有声明   明确的app_label,并且不在INSTALLED_APPS的应用程序中。

我尝试了

Django: Model class user.models.Users doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

以及许多Google搜索结果,缺少什么?

Django2,Python 3.6

编辑:

INSTALLED_APPS = [
    'frontend',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

1 个答案:

答案 0 :(得分:1)

我在尝试了所有可能的Stackoverflow答案后才弄清楚了。

在某些视图/表单中,我需要一个名为 AwsRegions 的模型,最初,所有模型都位于一个文件中,该文件随后移至名为models/的单独文件夹中,并且我进行了更新其他需要此类的现有代码。

一段时间后,尝试使用runserver命令时,问题中指定的问题就出现了。 (我想pycache以前曾提供过旧文件,因此它不会引发任何错误。)。

但是这个错误根本没有任何意义。

然后我尝试运行python3 manage.py makemigrations命令,该命令开始抛出错误,然后我去修复了那些错误,这些是简单文件,由于路径无效而找不到错误。之后,我尝试了python3 manage.py runserver,它成功运行了。

所以,本质上

  1. 运行python3 manage.py makemigrations
  2. 修复输入错误
  3. 再次运行python3 manage.py makemigrations