1
ndb에서 키로 인스턴스를 가져와야합니다. 키에는 부모 키가있을 수 있지만, 원하는 URL을 원하기 때문에 부모 키를 URL에 전달하고 싶지 않습니다. URL에 전체 키 문자열을 전달하고 싶지 않습니다. 이것이 가능합니까?조상과 키가 잘 보이는 URL을 생성하십시오.
ndb에서 키로 인스턴스를 가져와야합니다. 키에는 부모 키가있을 수 있지만, 원하는 URL을 원하기 때문에 부모 키를 URL에 전달하고 싶지 않습니다. URL에 전체 키 문자열을 전달하고 싶지 않습니다. 이것이 가능합니까?조상과 키가 잘 보이는 URL을 생성하십시오.
가능합니다. 그러나 부모 키는 코드에서 정적입니다.
숫자 ID를 얻으면 키를 재구성하면됩니다.
id = long(inputId)
key = ndb.Key('Somekind', 'somevalue', 'kindOfInstance', id)
instance = key.get() # get instance
'Somekind'는 상위 클래스의 이름입니다. 'somevalue'는 부모 클래스의 문자열 ID입니다. 'kindOfInstance'는 인스턴스 클래스의 이름입니다. 따옴표없이 클래스를 사용할 수 있습니다.
https://developers.google.com/appengine/docs/python/datastore/functions#allocate_ids에서 "allocate_ids (model, count)"를 사용하여 "멋진"ID를 예약 할 수도 있습니다. " –
상위 ID를 알 수 없습니다. 거기에있는 모든 정보는 인스턴스 자체의 키와 클래스의 키의 ID입니다. –
@Trollhammaren 모든 부모 ID 또는 문자열을 사용할 수 있습니다. 하나의 엔티티 그룹에서 동일해야합니다. 그러나 폴의 변형이 더 좋다. –