GoogleAppEngine(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