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

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

J'ai une application Django 1.9 utilisant DRF avec la structure de dossiers suivante

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

Dans serializers.py j'ai une importation:

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

Dans views.py, j'ai ces importations:

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

Tout fonctionne bien jusqu'à maintenant. Mais après avoir ajouté

from api.serializers import NotificationSerializer

Dans models.py, Django commence à se plaindre lorsque je démarre le serveur de développement:

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

Je sais qu’il doit y avoir un problème avec les chemins d’importation Python, mais je ne peux pas le résoudre.

Réponses:

0 pour la réponse № 1

Cela provoquerait une importation circulaire, puisque serializers.py importations models.pyet vice versa.

Comment résoudre cela dépend de quoi NotificationSerializer Est-ce que. S'il n'utilise pas les modèles, vous pouvez envisager de le déplacer dans un fichier utils.