我有一个使用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导入路径一定存在问题,但我无法理解。
答案 0 :(得分:0)
这会导致循环导入,因为serializers.py
导入models.py
,反之亦然。
如何解决这个问题取决于NotificationSerializer
的作用。如果它不使用模型,您可以考虑将其移动到utils文件。