2009-04-16 3 views
0

Я хочу использовать декоратор @after_insert Elixir, но я не могу получить доступ к сеансу внутри модели. Поскольку у меня есть autocommit, установленный в False, я не могу совершать никаких изменений в обработчике событий. Есть ли лучшая практика, как с этим бороться?Elixir Event Handler

Код, который я использовал для построения модели, подключения к базе данных и т. Д., В основном снимается с документации.

Нужный метод:

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

Все инициализации сеанса выполняется в инициализации .py в том же каталоге.

Когда я тогда звоните:

Session.update(self) 
Session.commit() 

Я получаю сообщение об ошибке, что сессия не определена. Любая идея?

ответ

0

Вы импортировали сеанс?

from packagename import Session

в верхней части файла модели должны сделать трюк. Packagename - это имя каталога.