Google 애플리케이션 엔진에서 트랜잭션 내에서 "get_or_insert"를 호출 할 수 있습니까?앱 엔진에서 트랜잭션 내에서 "get_or_insert"를 호출 할 수 있습니까?
내가 묻는 이유는 이미 실행중인 트랜잭션 내부에서 자체 트랜잭션을 실행하는 것과 충돌이 있는지 확실하지 않기 때문입니다.
감사합니다.
Google 애플리케이션 엔진에서 트랜잭션 내에서 "get_or_insert"를 호출 할 수 있습니까?앱 엔진에서 트랜잭션 내에서 "get_or_insert"를 호출 할 수 있습니까?
내가 묻는 이유는 이미 실행중인 트랜잭션 내부에서 자체 트랜잭션을 실행하는 것과 충돌이 있는지 확실하지 않기 때문입니다.
감사합니다.
실제로 NDB를 사용하는지 아니면 이전 DB 패키지를 사용하는지에 따라 다릅니다. Nick의 답변은 이전 db 패키지에만 적용됩니다. 그러나 NDB에서 get_or_insert()는 현재 트랜잭션이 있으면 조인합니다. 트랜잭션 외부에서 호출되면 자체 트랜잭션을 생성합니다. https://developers.google.com/appengine/docs/python/ndb/functions#context_options
(. 닉은 기존 트랜잭션에 가입 항목 그룹에 대한 제한에 대한 권리)
이 전파의 의미 = 허용 여기에 설명을 일치번호 get_or_insert
은 레코드를 가져 오거나 삽입하는 트랜잭션 기능을위한 구문 적 설탕입니다. 직접 구현할 수도 있지만, 작업중인 레코드가 현재 트랜잭션의 나머지 엔티티와 동일한 엔티티 그룹에 있거나 그룹 간 트랜잭션을 사용할 수있는 경우에만 작동합니다.