2009-04-16 4 views
0

Elixir의 @after_insert 데코레이터를 사용하고 싶지만 모델 내의 Session에 액세스 할 수 없습니다. autocommit을 False로 설정했기 때문에 이벤트 핸들러에서 변경 사항을 커밋 할 수 없습니다. 거기에 최선의 방법을 다루는가?Elixir 이벤트 처리기

모델, 데이터베이스 연결 등을 빌드하는 데 사용한 코드는 주로 문서에서 제거됩니다.

원하는 방법 :

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

모든 세션 초기화는 같은 디렉토리에 초기화 평에서 이루어집니다. 그때 전화

는 :

Session.update(self) 
Session.commit() 

나는 세션이 정의되지 않은 것으로 오류가 발생합니다. 아이디어가 있으십니까?

답변

0

세션을 가져 왔습니까? 트릭을해야 할 모델 파일의 상단에

from packagename import Session

. 패키지 이름은 디렉토리 이름입니다.