Ich versuche zwei neue Dinge auf einmal, so dass die Unterstützung sowohl bei der Vereinfachung als auch bei der Klärung geschätzt wird.
%Vor%Ich möchte also einen Mix erstellen, den ich in jeder Klasse anwenden kann:
%Vor%Diese Klasse erbt Funktionen, die bei der Erstellung einen Zeitstempel erstellen und beim Aktualisieren einen Zeitstempel erstellen / ändern.
Beim Import erhalte ich diesen Fehler:
%Vor%aaaund ich bin an dieser Stelle ratlos.
Hier ist, was ich tun würde, um before_insert
-Ereignisse anzuhören: füge einen classmethod
zu deinem TimeStampMixin
hinzu, der die aktuelle Klasse registriert und die Erstellung der Zeit übernimmt.
z. B.
%Vor%So können Sie:
Sie können es einfach verwenden:
%Vor%Einfach, sehr klar, keine Magie, aber kapselt immer noch ein, wie Sie wollen.
Sie können es auch so machen:
%Vor%und definieren Sie Ihre Klassen wie:
%Vor% Der beste Weg in der modernen SqlAlchemy ist die Verwendung des @listens_for
Dekorators mit propagate=True
.
Tags und Links python events sqlalchemy model