Key
클래스의 인스턴스는 변경 불가능한 Datastore 키를 나타냅니다.
이 페이지에는 API 참조 문서가 있습니다. 개요는 NDB 항목 및 키를 참조하세요.
소개
Key는 변경할 수 없는 데이터 저장소 키입니다. 애플리케이션은 일반적으로 항목을 참조하는 데 키를 사용합니다. 저장된 모든 항목에는 키가 있습니다. 항목의 키를 가져오려면 모델의 키 속성을 사용하세요.
이 키에서 항목을 가져오려면 Key
객체의 get() 메서드를 호출합니다.
키는 비교(예: key1 == key2
또는 key1 < key2
)를 지원합니다.
이 연산자는 애플리케이션 ID, 네임스페이스, 전체 '상위 경로'를 비교하며, 키 속성 또는 키를 기준으로 정렬할 때 Datastore에서 쿼리에 사용하는 순서와 동일한 순서를 사용합니다.
repr(key)
또는 str(key)
은 앱과 네임스페이스가 기본값과 다르지 않은 경우 이를 생략하고 가장 짧은 생성자 양식과 유사한 문자열 표현을 반환합니다.
hash(key)
가 작동합니다. 이를 통해 해시 테이블에 키를 저장할 수 있습니다.
생성자
유연성과 편의성을 위해 다중 생성자 시그니처가 지원됩니다.
- 클래스 Key(kind1, id1, kind2, id2, ...)
- 클래스 Key(pairs=[(kind1, id1), (kind2, id2), ...])
- 클래스 Key(flat=[kind1, id1, kind2, id2, ...])
- 클래스 Key(urlsafe=string)
-
위치 인수 kind1, id1, kind2, id2...는 '상위' 순서입니다.
flat=[kind1, id1, kind2, id2]
에 대한 바로가기이며 상위가 하위보다 앞섭니다.위치 인수인
pairs
와flat
생성자 양식은 상위=key를 사용하여 다른 키를 추가로 전달할 수 있습니다. 상위 키 쌍 (kind, id)은 명시적으로 전달된 (kind, id) 쌍 앞에 삽입됩니다.urlsafe
키워드 매개변수는 websafe-base64로 인코딩되어 직렬화된 참조를 사용합니다. 그러나 이 참조는 고유하고 불분명한 문자열로 여기는 것이 좋습니다.다른 생성자 키워드 인수는 다음과 같습니다.
- app
- 애플리케이션 ID(문자열)를 지정합니다.
- namespace
- 네임스페이스(문자열)를 지정합니다.
Datastore에 영향을 미치지 않는 인스턴스 메서드
다음 메소드는 키 내용에 액세스하며 데이터 저장소 I/O 활동에는 관여하지 않습니다.
- pairs()
-
(kind, id) 쌍의 튜플을 반환합니다.
- flat()
-
평면화된 종류 및 id 값(kind1, id1, kind2, id2, ...)의 튜플을 반환합니다.
- app()
-
애플리케이션 ID를 반환합니다.
- id()
-
마지막 (kind, id) 쌍의 문자열 또는 정수 ID를 반환하거나 키가 불완전한 경우
None
을 반환합니다. - string_id()
-
마지막 (kind, id) 쌍의 문자열 ID를 반환하거나, 키에 정수 ID가 있거나 불완전한 경우
None
을 반환합니다. - integer_id()
-
마지막 (kind, id) 쌍의 정수 ID를 반환하거나, 키에 문자열 ID가 있거나 불완전한 경우
None
을 반환합니다. - namespace()
-
네임스페이스를 반환합니다.
- kind()
-
마지막 (kind, id) 쌍의 종류를 반환합니다.
- parent()
-
마지막 (kind, id) 쌍에서 구성된 키를 반환하거나, 키에 (kind, id) 쌍 한 개만 있을 경우
None
을 반환합니다. - urlsafe()
-
websafe-base64로 인코딩된 직렬 버전의 키를 반환합니다.
참고: URL 안전 문자열은 암호화된 듯 보이지만 아니기 때문에 쉽게 디코딩하여 원래 항목의 종류 및 식별자를 복구할 수 있습니다.
- to_old_key()
-
'이전' Datastore API(
db
)에 대해Key
를 반환합니다.
Datastore에 영향을 미치는 인스턴스 메서드
이 메소드는 데이터 저장소와 상호작용합니다.
- get(**ctx_options)
-
키의 항목을 반환합니다.
인수
- **ctx_options
- 컨텍스트 옵션
- get_async(**ctx_options)
-
Future
를 반환합니다. 키의 항목이 최종 결과로 나옵니다.인수
- **ctx_options
- 컨텍스트 옵션
- delete(**ctx_options)
-
키의 항목을 삭제합니다.
인수
- **ctx_options
- 컨텍스트 옵션
- delete_async(**ctx_options)
-
키의 항목을 비동기적으로 삭제합니다.
인수
- **ctx_options
- 컨텍스트 옵션