2017-01-30 1 views
1

Ich renne in ein Import-Rätsel. einen neuen Imports Nach dem Hinzufügen erhalte ich die folgenden FehlerPython: Dieses zyklische Import-Rätsel lösen

from studentApp.models import modelStudent 
    File abc, line 6, in <module> 
    from interviewApp.models import modelInterviewQuestion 
    File "xyz", line 4, in <module> 
    from mainApp.models import modelPatient 
ImportError: cannot import name modelPatient 

Jetzt ist es das, was meine Datei MainApp/models.py

from studentApp.models import modelStudent #<---Added this and I get the error 

aussieht und das ist in meinem studentApp/models.py Datei

from interviewApp.models import modelInterviewQuestion #---> has a call to modelPatient inside 
from mainApp.models import modelPatient 
from labApp.models import modelLabTestName #---> has a call to modelPatient inside 

Jetzt in meinem interviewApp/models.py habe ich diese, die einen zyklischen Import verursacht

Ich verstehe, warum das passiert, aber ich bin mir nicht sicher, wie Sie dieses Problem beheben. Irgendwelche Vorschläge?

+1

Die beste Lösung ist, Ihre Module neu zu organisieren, um die Zirkelbezüge zu brechen. –

Antwort

2

Die zirkuläre Abhängigkeit ist, dass studentApp/models.py Importe mainApp.models und mainApp/models.py Importe . Eine Lösung besteht darin, modelPatient in ein eigenes Modul zu verschieben und dann in mainApp/models.py und studentApp/models.py zu importieren.

+0

Danke, dass geholfen hat, sieht aber aus, als müsste ich wirklich umgestalten –