Elixir事件处理程序

时间:2009-04-16 14:57:50

标签: python pylons python-elixir

我想使用Elixir的@after_insert装饰器,但我无法访问模型中的Session。由于我将autocommit设置为False,因此我无法在事件处理程序中提交任何更改。有没有最佳实践如何处理?

我用来建立模型,数据库连接等的代码大部分都是从文档中删除的。

理想的方法:

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

所有会话初始化都在同一目录中的 init .py中完成。

当我打电话时:

Session.update(self)
Session.commit()

我收到一个错误,即Session未定义。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否导入了会话?

from packagename import Session

模型顶部的

应该可以解决问题。 Packagename是目录名。