ndbのquery結果の件数を取得する方法
自分の中でごっちゃになっていたので整理する。
Queryのcount()のリファレンスには、こうある。
This returns the same result as len(q.fetch(limit)) but more efficiently.
query = MyModel.query(条件) cnt = query.count() #OK cnt = len(query) #NG cnt = len(query.fetch()) #OK list = MyModel.query(条件).fetch(keys_only=True) cnt = list.count() #NG cnt = len(list) #OK
queryメソッドの戻り値(Queryオブジェクト)はイテレータではあるがリストではないので、len(query)はできない。
fetchメソッドの戻り値は単なるリストなので、
last_data = list[cnt-1]
みたいなことも出来る。