2009-04-16 6 views
0

Ich möchte den @after_insert Dekorator von Elixir verwenden, aber ich kann nicht auf die Sitzung innerhalb des Modells zugreifen. Da ich Autocommit auf False gesetzt habe, kann ich keine Änderungen im Event-Handler festschreiben. Gibt es Best Practice, wie man damit umgeht?Elixir Event Handler

Der Code, den ich verwendet habe, um ein Modell, eine Datenbankverbindung usw. zu erstellen, wird größtenteils aus den Dokumentationen genommen.

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 alle Session-Initialisierung in den init Py im gleichen Verzeichnis erfolgen.

Als ich dann rufen:

Session.update(self) 
Session.commit() 

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

Antwort

0

Haben Sie Session importiert?

from packagename import Session

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