首页 > 移动平台 > 详细

bug之RuntimeError: Conflicting 'tag' models in application 'news': <class 'news.models.Tag'> and <class 'dj32_test.apps.news.models.Tag'>.

时间:2020-04-15 22:33:39      阅读:171      评论:0      收藏:0      [点我收藏+]

一、环境

  Windows10+Python+django2.1.4

二、报错信息

RuntimeError: Conflicting tag models in application news: <class news.models.Tag> and <class mysite.apps.news.models.Tag>.

三、解决方法

  在实际生产环境中,会将所有的应用都放在主应用的apps模块下(当然还要做一些配置)

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 在将django项目原始目录做一些改变后,如何没有配置好,就会导致解释器找不到包、模块,再讲apps这个模块的绝对路径加到Python的包搜索路径中去,那么在INSTALLED_APPS中注册的应用就可以直接使用应用名注册,如果我们在uses应用的视图中使用news应用的数据模型,没有正确的导入,就会出现上述的错误,

技术分享图片

RuntimeError: Conflicting tag models in application news: <class news.models.Tag> and <class mysite.apps.news.models.Tag>.

说这个数据模型定义了两次,实际上他都是一个,只不过是因为导入错误,导致了django识别的错误,

from mysite.apps.models import Tag

如何导入呢?使用相对路径,因为我们已经把其父目录加到模块搜索路径里面,所以可以自动查到

from news.models import Tag

 

bug之RuntimeError: Conflicting 'tag' models in application 'news': <class 'news.models.Tag'> and <class 'dj32_test.apps.news.models.Tag'>.

原文:https://www.cnblogs.com/loveprogramme/p/12708829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!