새 Foo 또는 새 Bar가 데이터베이스에 커밋 될 때마다 'Foo-created'이벤트 또는 'Bar-created'이벤트를 발생시키는 SessionExtension을 작성하고 싶습니다. 그러나 after_commit 메서드 내부에서 어떤 엔티티가 커밋되었는지 어디에서 찾을 수 있는지 알지 못합니다. 이 정보는 어디서 구할 수 있습니까?SQLAlchemy에서 후킹 엔티티 생성
1
A
답변
2
Session
인스턴스의 속성은 각각 new
, dirty
, deleted
이고 추가, 업데이트 및 삭제 된 개체가 있습니다. after_commit
이 실행될 때 이미 비어 있지만 after_flush
에서 사용할 수 있습니다. after_flush
후크에서 각 플러시에 대해 추가 된 인스턴스 목록을 확장하여 이벤트에 사용하고 after_commit
에 지울 수 있습니다.
0
매퍼 확장 비트를 살펴보십시오. 이런 종류의 일을 위해 코드를 삽입 할 수있는 삽입/업데이트/삭제 후크를 제공합니다.
http://www.sqlalchemy.org/docs/mappers.html?highlight=mapper%20extension#extending-mapper
+0
네,하지만 여러 가지 이유로 데이터베이스에 넣지 못할 수도 있습니다. – Derecho
관련 문제
- 1. 후킹 또는 모니터링 서비스 생성
- 2. SQLAlchemy에서 생성 된 레코드의 ID를 얻으려면
- 3. win32에서 후킹
- 4. ADO.Net 후킹
- 5. 후킹() 태그
- 6. 후킹 복사
- 7. . 후킹 .Net
- 8. Drupal에서 사용자 등록 후킹
- 9. Doctrine2에 접두사가있는 엔티티 생성
- 10. 데이터베이스에서 엔티티 자동 생성
- 11. 엔티티 프레임 워크 생성 엔티티 지속성 무지
- 12. sqlalchemy에서 잠그기
- 13. 후킹 스레드 종료
- 14. NHibernate에서 사용자 정의 엔티티 생성 (생성)
- 15. linq to 엔티티 POCO 생성
- 16. 클래스에서 엔티티 도메인 모델 생성
- 17. 시스템 Wide Api 후킹
- 18. 후킹 문자열 변경 WM_SETTEXT
- 19. Windows 7 드라이버 후킹
- 20. IAT 후킹, QT 라이브러리
- 21. WM_SETTEXT 메시지 후킹
- 22. API 후킹 정보
- 23. 플래시 및 오디오 후킹
- 24. 선언적 SQLAlchemy에서 태그 사전?
- 25. sqlalchemy에서 해시로 결과를 인쇄합니다.
- 26. SQLAlchemy에서 다단계 다형성이 가능합니까?
- 27. SQLAlchemy에서 카운터를 늘리는 방법
- 28. SQLAlchemy에서 "likes"구현하기
- 29. sqlalchemy에서 테이블 쿼리하기
- 30. SQLAlchemy에서 '고급'쿼리를 실행하려고했지만 막혔습니다
좋아, 그래서 나는 after_flush''에서'new'을 복사 한 다음 after_commit''에 그것을 사용할 수 있습니까? 충분히 간단하게 들립니다. 감사! – Derecho
그래,하지만 내가 가진 문제는 새로 생성 된 인스턴스의 관계 속성이 설정되어 있지 않다는 점이다. 예를 들어,'author_id'는 정수이지만'author'는'None'입니다. 약간의 누출이 될 게으른 관계를 만드는 것보다 그것을 고칠 수있는 더 좋은 방법이 있을까요? – Derecho
방금 확인했는데 관계가 기본적으로 느슨하게로드되므로 무엇을해야할지 모르겠습니다. 이 메일 링리스트로 가야 할 수도 있습니다. – Derecho