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 № 1Cela provoquerait une importation circulaire, puisque serializers.py
importations models.py
et 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.