Eu tenho um aplicativo django 1.9 usando DRF com a seguinte estrutura de pastas
- api/
- api/models.py
- api/serializers.py
- api/views.py
- manage.py
No serializers.py, tenho uma importação:
from api.models import Model1, Model2, ...
No views.py, tenho estas importações:
from api.serializers import NotificationSerializer
from api.models import Model1, Model2, ...
Tudo funciona bem até agora. Mas depois de adicionar
from api.serializers import NotificationSerializer
No models.py, o django começa a reclamar quando inicio o servidor de desenvolvimento:
File ".../api/serializers.py", line 3, in <module>
from api.models import Model1, Model2,...
ImportError: cannot import name Model1
Eu sei que deve haver um problema com os caminhos de importação do python, mas não consigo descobrir.
Respostas:
0 para resposta № 1Isso causaria uma importação circular, pois serializers.py
importações models.py
e vice-versa.
Como resolver isso depende do que NotificationSerializer
faz. Se ele não usar os modelos, considere movê-lo para um arquivo utils.