Django 错误 cannot import name

做权限管理,本来打算自己做,后来想想还是用django自带的吧,结果把自定义的model里的User定义删除,更新数据库,删除admin.py(用来在admin管理界面上注册对user的可视化操作),再运行login和admin,都会报错:cannot import name。

错误为cannot import name someTable
查看log,问题出现在urls.py中的
admin.autodiscover()

不能加载User(这是我自己定义的一个Model,而且在admin.py中做了修改)

现在打算弃用这个model,对数据库也进行了同步,代码也删除了。

理论上在运行时,代码都不会涉及到我之前建的这个model--User,但是错误依然存在。

最后才发现原来的app目录下有一个admin.pyc,原来是残余编译文件导致admin.autodiscover()还是加载admin.pyc,而这里面有原来的User表的模型定义...

删掉admin.pyc,重新运行,ok了,一切正常。

django一定要注意这个问题,在分离模型模块时一定注意清除pyc文件。

 

你可能感兴趣的:(python,数据库)