2009-04-16 6 views
0

Je souhaite utiliser le décorateur @after_insert d'Elixir, mais je ne peux pas accéder à la Session dans le modèle. Depuis que j'ai autocommit défini sur False, je ne peux pas valider les modifications dans le gestionnaire d'événements. Existe-t-il une meilleure pratique pour gérer cela?Elixir Event Handler

Le code que j'ai utilisé pour construire le modèle, la connexion à la base de données, etc. est la plupart du temps retiré des documentations.

La méthode souhaitée:

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

Toute l'initialisation de session se fait dans la initialisation .py dans le même répertoire.

Quand j'appelle alors:

Session.update(self) 
Session.commit() 

je reçois une erreur de cette session est définie. Une idée?

Répondre

0

Avez-vous importé Session?

from packagename import Session

en haut de votre fichier modèle devrait faire l'affaire. NomPackage est le nom du répertoire.