문제
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은 디렉토리 이름입니다.
제휴하지 않습니다 StackOverflow