Hallo iam versucht, eine currnet_user Informationen in meinen Ansichten zu erhalten
und ich schließe von users.models import *
eindann in meinem Code zurückgeben current_user;
%Vor%und nachdem ich meinen Server gestartet habe, heißt es
%Vor%und in meinem Modell habe ich
%Vor%und bis jetzt habe ich nicht verstanden, warum iam diesen Fehler bekommt und wie man ihn genau löst, bitte leite mich, um das Problem zu lösen
Ich sah den gleichen Fehler mit Jupyter Notebook. Ich habe sqlalchemy-Tabellenklassen aus einer Bibliothek importiert, die auf der Festplatte gespeichert ist, und es gab einen Fehler in der Definition. Nachdem ich den Fehler behoben hatte, führte ich den Import erneut durch und sah diesen Fehler. Einfach den Jupyter-Kernel neu starten und dann den Import erneut ausführen, das Problem wurde behoben.
Das hängt davon ab, was Sie tun möchten. Versuchen Sie Folgendes:
Im ersten Fall, in dem Sie Ihr Beispiel oben verwenden, sollten Sie vor dem Definieren der Klassen die folgende Zeile ausführen:
%Vor%Der Grund ist, dass Sie zum ersten Mal eine SQLAlchemy-Zuordnung deklarieren, indem Sie eine Python-Klasse definieren. Die Definition der Klasse wird im Metadatenobjekt gespeichert, um Konflikte zu vermeiden, die durch die Zuordnung mehrerer Definitionen zur gleichen Tabelle verursacht werden. p>
Wenn Sie die clear()
-Methode aufrufen, löschen Sie alle Tabellendefinitionen, die im Speicher des Metadata-Objekts gespeichert sind. Dadurch können Sie sie erneut deklarieren.
Im zweiten Fall, wenn Sie die App gerade neu starten Ich würde einen Test schreiben, um zu sehen, ob die Tabelle bereits existiert, indem ich die Methode reflect verwende:
%Vor% Wo engine ist Ihre Db-Verbindung erstellt mit create_engine()
, und sehen, ob Ihre Tabellen bereits vorhanden sind und nur die Klasse definieren, wenn die Tabelle nicht definiert ist.
Fügen Sie einfach extend_existing = True für roles_users wie unten gezeigt hinzu
%Vor%Tags und Links python sqlalchemy