2009-11-13 1 views
1

GqlQuery 객체를 키 배열로 변환 할 수있는 방법이 있습니까? 아니면 키 배열을 반환하도록 쿼리를 강제하는 방법이 있습니까?gqlQuery가 객체를 반환하고 키의 목록을 원하는 경우

[datastore_types.Key.from_path(u'Item', 100L, _app_id_namespace=u'items'), 
..., datastore_types.Key.from_path(u'Item', 105L, _app_id_namespace=u'fitems')] 

참고 : 나는 같이 키의 배열을 비교해야

<google.appengine.ext.db.GqlQuery object at 0x0415E210> 

:

items = db.GqlQuery("SELECT __key__ FROM Items") 

이 키를 포함하는 객체를 반환 예를 들어 내가 할 수있는 저장된 객체를 쿼리 한 다음 .key()를 호출하여 문제를 해결할 수 있지만 이는 낭비되는 것처럼 보입니다.

items = db.GqlQuery("SELECT * FROM Items") 
keyArray = [] 
for item in items: 
    keyArray.append(item.key()) 

답변

3

물론 - GqlQuery 객체에서 .fetch (count)를 호출하여 결과를 가져올 수 있습니다. 사실, 반복되는 결과를 일괄 적으로 반입하므로 효율성이 떨어집니다.

+0

매력처럼 작동합니다. –

관련 문제