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

Django 2.x版本迁移数据库报这个错误,user表使用的Django的验证系统

本来就想改一下用户表的表名,莫名的报了个这个错误,在网上找到了解决办法

打开user应用模块下的apps.py文件,这是没修改前的

1 from django.apps import AppConfig
2 
3 
4 class UserConfig(AppConfig):
5     name = 'apps.user'

然后修改name值,去掉前边的apps.如下

from django.apps import AppConfig


class UserConfig(AppConfig):
    name = 'user'

只是找到了这个解决办法,但是具体的原因还不明了!如果还有问题,看下面

错误又来了,这次是goods商品模块

RuntimeError: Model class goods.models.GoodsType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

网上查了俩小时,各种办法都试了,改settings、goods/models、goods/apps、goods/views,各种改还是不行。

注意:最后我发现只要goods应用里的视图urls不导入views里的类视图就可以启动测试服务器了

我原先在goods/views.py里导入类视图的方式: from .views import IndexView

然后我改了下导入的方式: from apps.goods/views  ,这下竟然不抛出异常了,奇迹

但是我还是不知道为什么,明明我 user应用里就是 from .views import 类视图,就没事,goods应用就有问题,没谁了真是

更奇葩的是,这会我goods里面的apps没有改name值,也不能改

 

1 from django.apps import AppConfig
2 
3 
4 class GoodsConfig(AppConfig):
5     name = 'apps.goods'

 

我现在只能是,有错误疯狂的各种试验那种不报错,实在是累

 

希望有大神能知道这些奇葩问题的原因!

 

posted @ 2019-05-25 21:59  springionic  阅读(2894)  评论(1编辑  收藏  举报