我正在使用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
这引发了一个错误=> ImportError: no module named sa2
所以,我采取了另一种方法,在项目中摆脱__init__.py
/如https://code.djangoproject.com/ticket/22280所述
这引发了另一个错误=> ImportError: No module named project.website.settings
请帮我调试一下。
我遇到了一些问题。从sa2内尝试
from sa2.models import Mo1, Mo2, Mo3
或者
from .models import Mo1, Mo2, Mo3
捕获:确保在forms.py,tests.py或导入这些模型的任何其他位置使用相同的导入。如果只更新其中一个导入它将无法正常工作,您仍然会得到相同的错误。
出现问题是因为双重导入。有关更多信息,请参阅:The Double Import Trap
祝好运
附:没有__init__.py
在这个过程中受伤
删除项目文件夹中的__init __.py
文件。我在Django中使用测试时遇到同样的错误然后我删除它,错误就消失了。