문제

gqlquery 객체를 키 배열로 변환하는 방법이 있습니까? 아니면 쿼리가 키 배열을 반환하도록 강제하는 방법이 있습니까? 예를 들어:

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

키가 포함 된 개체를 반환합니다.

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

나는 그것을 다음과 같은 모양의 키와 비교해야합니다.

[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')]

참고 : 저장된 개체를 쿼리 한 다음 .key ()를 호출하여 문제를 해결할 수 있지만 이것은 낭비적인 것 같습니다.

items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
  keyArray.append(item.key())
도움이 되었습니까?

해결책

확실히 - GQLQuery 객체에서 .fetch (count)를 호출하여 결과를 가져올 수 있습니다. 이것은 실제로 권장되는 방법입니다. 반복 페치 결과는 배치로 결과를 얻으므로 효율성이 떨어집니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top