我正在使用Django 1.8.3和Python 2.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 / forms.py中导入模型,如下所示:
from project.app.sa2.models import Mo1, Mo2, Mo3
这引发了错误 -
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
这引发了错误=&gt; ImportError: no module named sa2
所以,我在项目中删除了__init__.py
采取了另一种方法/ https://code.djangoproject.com/ticket/22280
这引发了另一个错误=&gt; ImportError: No module named project.website.settings
请帮我调试一下。
答案 0 :(得分:2)
我遇到了一些问题。在 sa2 内尝试
from sa2.models import Mo1, Mo2, Mo3
或者
from .models import Mo1, Mo2, Mo3
CATCH :请务必在您的forms.py,tests.py或导入这些模型的其他地方使用相同的导入。如果只更新其中一个导入它将无法正常工作,您仍然会得到相同的错误。
由于双重导入而出现问题。有关详细信息,请参阅:The Double Import Trap
祝你好运 P.S。没有__init__.py
在这个过程中受到伤害
答案 1 :(得分:0)
删除项目文件夹中的__init __.py
文件。在Django中使用测试时出现相同的错误,然后将其删除,错误消失了。