Django应用程序:模型ImportError

时间:2017-01-18 18:16:12

标签: python django import importerror

我有一个使用DRF的django 1.9应用程序,具有以下文件夹结构

- api/
- api/models.py
- api/serializers.py
- api/views.py
- manage.py

在serializers.py中我有一个导入:

from api.models import Model1, Model2, ...

在views.py中我有这些导入:

from api.serializers import NotificationSerializer
from api.models import Model1, Model2, ...

到目前为止一切正常。但是在添加

之后
from api.serializers import NotificationSerializer

在models.py中,当我启动开发服务器时,django开始抱怨:

File ".../api/serializers.py", line 3, in <module>
from api.models import Model1, Model2,...
ImportError: cannot import name Model1

我知道python导入路径一定存在问题,但我无法理解。

1 个答案:

答案 0 :(得分:0)

这会导致循环导入,因为serializers.py导入models.py,反之亦然。

如何解决这个问题取决于NotificationSerializer的作用。如果它不使用模型,您可以考虑将其移动到utils文件。