GoogleAppEngine(GAE)のデータストアからデータを取得する際、複数の値のいずれかと等しいデータを取得する『IN演算子』を用いたい時があります。
GAEのデータストアからIN演算子を用いてデータを取得する方法は以下から。
GAEのデータストアからIN演算子を用いてデータを取得する方法
#以下の様なデータが入っていた場合
#category:0001 title:TestTitle01
#category:0001 title:TestTitle02
#category:0002 title:TestTitle03
#category:0003 title:TestTitle04
#category:0004 title:TestTitle05
#category:0004 title:TestTitle06
from google.appengine.ext import db
class Book(db.Model):
category = db.StringProperty()
title = db.StringProperty()
class CategorySearch(webapp.RequestHandler):
#フィルタ用のリスト(categoryが'0001'と'0003')
CategoryList = ['0001', '0003']
#Bookの全データ取得
BookData = Book.All()
#フィルタリング
BookData.filter("category in", CategoryList)
#結果の出力
for book_data in BookData:
print book_data.title
#出力結果は
#TestTitle01
#TestTitle02
#TestTitle04


コメント