업데이트 : 추가 테스트를 통해이 문제가 내 엔티티 그룹의 모든 하위 엔티티에 영향을 미치는 것 같습니다. 이러한 모든 다른 인스턴스에 대한 내 루트 부모는 User kind입니다. 이는 내 자신의 생성이지 사용자 내장 유형이 아닙니다. 자식 Kind의 생성자에서 parent = user를 제거한 후 get_by_key_name은 예상대로 작동합니다. 그러나 가능한 경우 엔티티 그룹 기능을 정의 된 키와 함께 사용할 수 있기를 바랍니다.Google Appengine : Odd get_by_key_name 동작
- 안녕하세요, 내 GAE 프로젝트에서보다 빠른 쿼리를 위해 정의 된 키 이름을 사용하려고합니다.
그러나 키를 가져올 수없는 이상한 문제가 발생했습니다.
for l in Logins.all().fetch():
print Login.get_by_key_name(l.key().name())
일부 노트 :이 코드는 작동하지 않는다. 나는 단지 SDK에서 테스트 한
L.KEY() 이름은()에 나열된 키 이름의 문자열을 반환 엔티티와 데이터 저장소를 살펴볼 때 복사하여 데이터 스토리 밖으로 붙여 넣을 수 있습니다 및 get_by_key_name() 인수로 사용하고 그 중 하나가 작동하지 않습니다.
로그인 종류의 키 이름은 모두 앞에 "l"(소문자 "L") 접두사가 붙고 다른 모든 것은 소문자이며 밑줄이나 대시가 포함될 수 있지만 500 바이트 미만일 수 있습니다.
다른 작품은이 작품과 같습니다.
- 의 핵심은 로그인 종류의 2 곳의 보간하고, 내가 잘 인스턴스에 대한
- 은 "부모가"사용자 클래스입니다 일반 .filter() 메소드를 사용하여 객체를 가져올 수 있습니다. (이것이 내가 가져야하는 방식에 어떤 영향을 미친다면 언급 할 것)
이렇게 물어볼 필요가있는 분명한 이유가 있습니까? SDK를 사용하여 키 이름 검색과 관련된 알려진 문제가 있습니까?
나는 이것이 알려진 문제라고 생각한다. 그러나 SDK만으로도 문제가되는지, 아니면 제품에 영향을 미치는지 여부는 알기가 어렵습니다. http://code.google.com/p/googleappengine/issues/detail?id=2228#makechanges –
보조 노트로 get_by_key_name (key_name, parent)에 부모 인수를 추가하면 잘 작동합니다.이게 어떻게 작동해야합니까? –