Frage

Ich mag die @after_insert Dekorateur von Elixir verwenden, aber ich kann die Session nicht zugreifen innerhalb des Modells. Da ich auf false gesetzt Autocommit haben, kann ich keine Änderungen im Ereignishandler begehen. Gibt es eine Best Practice, wie er damit umgehen?

Der Code I Modell zu bauen verwendet werden, um die Datenbankverbindung usw. sind meist die Dokumentationen entnommen.

Die gewünschte Methode:

class Artefact(Entity):
[...]
    @after_insert
    def make_signature(self):
        self.signature = '%s-%s' % (self.artefact_type.title.upper()[:3], self.id)

Die ganze Session Initialisierung erfolgt in der init Py im selben Verzeichnis.

Als ich dann rufen:

Session.update(self)
Session.commit()

Ich erhalte eine Fehlermeldung, dass Session nicht definiert ist. Jede Idee?

War es hilfreich?

Lösung

Haben Sie Session importiert?

from packagename import Session

an der Spitze Ihrer Modelldatei sollte es tun. Paket ist der Verzeichnisname.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top