Elixir事件处理程序
问题描述:
我想使用Elixir的@after_insert修饰器,但我无法访问模型中的会话。由于我将autocommit设置为False,因此我无法在事件处理程序中提交任何更改。有没有最佳做法如何处理?Elixir事件处理程序
我用来构建模型,数据库连接等的代码大多是从文档中取出的。
所需的方法:
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()
我得到一个错误,该届会议是不确定的。 有什么想法?
答
您是否导入了Session?
from packagename import Session
在你的模型文件应该做的伎俩的顶部。 Packagename是目录名称。