문제

Elixir의 @after_insert 데코레이터를 사용하고 싶지만 모델 내에서 세션에 액세스 할 수 없습니다. 자동 커밋이 False로 설정되어 있으므로 이벤트 핸들러의 변경 사항을 커밋 할 수 없습니다. 그것을 다루는 방법이 모범 사례가 있습니까?

모델, 데이터베이스 연결 등을 빌드하는 데 사용한 코드는 대부분 문서에서 벗어납니다.

원하는 방법 :

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()

세션이 정의되지 않은 오류가 발생합니다. 아이디어가 있습니까?

도움이 되었습니까?

해결책

세션을 가져 왔습니까?

from packagename import Session

모델 파일 상단에서 트릭을 수행해야합니다. Packagename은 디렉토리 이름입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top