2010-02-17 3 views
6

앱 엔진 데이터 저장소에서 데이터를 가져 오려고합니다.App Engine, Python : ID로 쿼리를 필터링하는 방법?

obj = db.Query(PageModel).filter('title',title)[0] 

그러나 ID와 같은 일이 -하지 않습니다 :

은 '제목'(또는 다른 속성)에 의해

필터링 쿼리가 작동

obj = db.Query(PageModel).filter('ID',page_id)[0] 

내가 특별한 무언가가 있다고 생각 ID와 KEY를 데이터 저장소에 넣지 만 ID로 데이터를 가져 오는 방법을 찾을 수 없습니다.

+0

자세한 정보가 필요합니다. 문맥? 이 속성들은 무엇입니까? –

답변

13

대신

obj = PageModel.get_by_id(page_id) 

보십시오. 여기서는 작업중인 ID가 obj.key().id()과 같은 데이터 스토어 키의 숫자 ID이고 PageModel에 추가 한 임의의 ID 필드가 아니라고 가정합니다.

+0

http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model_get_by_id – Ryan

2

사용자는 키 (들)를 사용하여 데이터를 필터링 할 수

from google.appengine.ext.db import Key 
key = Key('bgakaWdyc3NlcnIPCxIJRmVlZEVudHJ5GAwM') 

# Match many 
PageModel.all().filter('__key__ IN ', [key]) 
# Match one 
PageModel.all().filter('__key__ = ', key) 

그러나, 상기 방법 get_by_id (ID)가 바람직 하나 개의 항목을 가져 오는.

관련 문제