从Django 1.6.7升级到1.8.3,运行时错误:应用程序中的模型冲突

2024-06-26 14:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是django1.8.3和python2.7.6

My project structure:
project/
   __init__.py
   app/
      __init__.py
      sa1/
         __init__.py
         admin.py
         models.py
         interface.py
      sa2/
         __init__.py
         forms.py
         urls.py
         views.py
      app/
         __init__.py
         admin.py
         models.py
         tests.py
         views.py

我试图在sa2中导入模型/表单.py具体如下:

^{pr2}$

这引发了一个错误-

Exception Type: RuntimeError at /
    Exception Value: Conflicting 'mo1' models in application 'app': <class
 'project.app.models.Mo1'> and <class 'app.models.Mo1'>

我试图用:Django 1.7 conflicting models

所以,我把它改成:

from app.sa2.models import Mo1, Mo2, Mo3

这引发了一个错误=>;ImportError: no module named sa2

所以,我采用了另一种方法,去掉了project/中的__init__.py,如https://code.djangoproject.com/ticket/22280中所述

这引发了另一个错误=>;ImportError: No module named project.website.settings

请帮我调试一下。在


Tags: pygtprojectappadmininitmodels错误
2条回答

我有点问题。从sa2尝试

from sa2.models import Mo1, Mo2, Mo3 

或者另一种选择

^{pr2}$

CATCH:确保在表单.py, 测试.py或者其他任何导入这些模型的地方。如果只更新一个导入,它将不起作用,并且仍然会得到相同的错误。在

由于双重导入而出现问题。有关详细信息,请参阅:The Double Import Trap

祝你好运

p.S.no __init__.py在这个过程中受伤

删除项目文件夹中的__init __.py文件。我在Django中使用test时有相同的错误,然后我删除它,错误就消失了。在

相关问题 更多 >