NDB Key 클래스

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]에 대한 바로가기이며 상위가 하위보다 앞섭니다.

위치 인수인 pairsflat 생성자 양식은 상위=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
컨텍스트 옵션

클래스 메서드

from_old_key(k)

전달된 '이전' Datastore API(db) Key에서 NDB 키를 반환합니다.

인수

**ctx_options
컨텍스트 옵션