/ / Django Application: Model ImportError - python, django, import, importadorror

Aplicativo Django: Model ImportError - python, django, import, importerror

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 № 1

Isso causaria uma importação circular, pois serializers.py importações models.pye vice-versa.

Como resolver isso depende do que NotificationSerializer faz. Se ele não usar os modelos, considere movê-lo para um arquivo utils.