Ho un'applicazione django 1.9 che utilizza DRF con la seguente struttura di cartelle
- api/
- api/models.py
- api/serializers.py
- api/views.py
- manage.py
In serializers.py ho un'importazione:
from api.models import Model1, Model2, ...
In views.py ho queste importazioni:
from api.serializers import NotificationSerializer
from api.models import Model1, Model2, ...
Tutto funziona bene fino ad ora. Ma dopo aver aggiunto
from api.serializers import NotificationSerializer
in models.py, django inizia a lamentarsi quando avvio il server di sviluppo:
File ".../api/serializers.py", line 3, in <module>
from api.models import Model1, Model2,...
ImportError: cannot import name Model1
So che ci deve essere un problema con i percorsi di importazione di Python, ma non riesco a capirlo.
risposte:
0 per risposta № 1Ciò causerebbe un'importazione circolare, dal momento che serializers.py
importazioni models.py
e viceversa.
Come risolvere questo dipende da cosa NotificationSerializer
lo fa. Se non usa i modelli, potresti prendere in considerazione di spostarlo in un file utils.