Ich habe ein Modell project_phase :
%Vor%es verweist auf pmo_review_task (weil es eine pmo_review_task in seinem Save Overwrite erstellt)
%Vor%welche Referenzen sc_review_task die auf project_phase verweisen (weil es in seinem Save Overwrite eine project_phase erzeugt)
%Vor%es endet also project_phase importiert pmo_review_task importiert sc_review_task importiert project_phase und ich schätze, dass es sich irgendwie anhäuft Dieser Fehler:
%Vor%Wie überwinde ich das?
Zwei Möglichkeiten:
Um get_model
function von django.db.models
zu verwenden, das für faule Modellimporte entwickelt wurde.:
Ich bevorzuge die zweite, aber beide Methoden sind in Ordnung.
importiere project_phase
in die save
Methode.
Der Import wird immer dann aufgerufen, wenn der Code ausgeführt wird.
Wenn es sich im globalen Modul-Namespace (oben) befindet, wird es sofort aufgerufen, und Sie haben zirkuläre Importprobleme, weil Sie eine Datei importieren, die die ursprüngliche Datei importiert.
Wenn Sie die Import-Anweisung in eine Funktion einfügen, wird sie beim Importieren der Datei / nicht aufgerufen.
%Vor%Django 1.9 und höher
As get_model()
in django.db.models wurde in 1.9 entfernt.
Verwenden Sie django.apps.get_model()
Ähnliche Frage: Was ist? das Äquivalent von django.db.models.loading.get_model () in Django 1.9?
oder verwenden Sie das Anführungszeichen in Anführungszeichen, wenn Sie es nur zum Erstellen eines Fremdschlüssels verwenden.
Anstelle von from core.models import project_phase
tue
Tags und Links python django recursion django-models