[Python] GAEのfilterでIN演算子を使う方法

自由が丘で働くWeb屋のブログ

[Python] GAEのfilterでIN演算子を使う方法

[Python] GAEのfilterでIN演算子を使う方法

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
 
カテゴリー:Webシステム開発
タグ:,
2012年9月6日 11時53分
 

関連記事

 

コメントを書く

(C) 自由が丘で働くWeb屋のブログ