/ / Applicazione Django: modello ImportError - python, django, import, importerror

Applicazione Django: modello ImportError - python, django, import, importerror

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

Ciò causerebbe un'importazione circolare, dal momento che serializers.py importazioni models.pye 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.