既存のDataStoreのエンティティに新しいプロパティを追加した場合、保存済みのデータにはNoneが代入されます。Noneが代入されたプロパティはIndexに格納されていないため、Queryで参照することができません。

デザインパターンとしては、プロパティの追加に備えて、スキーマにversionというIntegerPropertyを追加しておきます。新しいプロパティを追加する際、versionが一定以下の場合をクエリして、新しいプロパティを初期化してputします。

しかし、そもそもversionを書き込んでいないスキーマの場合、まずはversionをスキーマに追加する必要があります。そのためには、全てのDataStoreのエンティティをループで回してversionを書き込んでputする必要があります。AppEngineのQueryは1000件以上取得できないため、このような場合はDataStoreのCursorを使用します。また、リクエストの60秒制約を解決するためにdeferred queueを使います。

以下、Python2.7 + AppEngine standard environment + dbの例です。

app.yamlにdeferredを追加します。

- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.deferred.application
  login: admin

builtins:
- deferred: on

cursorで回しながらversionを追加して上書きします。

from google.appengine.ext import deferred

def update_schema_loop(xbrl,num_fetched,num_updated,batch_size,tag):
	i=0

	to_put = []
	for one in xbrl:
		one=db.get(one.key())	#強い整合性を保証
		if not one.version:	#Noneチェック
			one.version=1	#新しいプロパティ
			to_put.append(one)
		i=i+1
		if i>=batch_size:
			break

	num_fetched += i

	if to_put:
		db.put(to_put)
		num_updated += len(to_put)

	return xbrl,num_fetched,num_updated,i

def update_schema_pdf(cursor=None, num_fetched=0, num_updated=0, batch_size=100):
	data_list = PdfDocument.all()
	data_list.with_cursor(start_cursor=cursor)
	data_list,num_fetched,num_updated,detected_cnt=update_schema_loop(data_list,num_fetched,num_updated,batch_size,"pdf")
	next_cursor = data_list.cursor()
	more=(detected_cnt!=0)
	if more:
		deferred.defer(
			update_schema_pdf, cursor=next_cursor, num_fetched=num_fetched, num_updated=num_updated)
	else:
		count = PdfDocument.all().count(limit=1000000)
		logging.info(
			'Complete update schema pdf with {} fetchs {} updates of {}!'.format(
				num_fetched,num_updated,count))

class UpdateSchemaHandler(webapp2.RequestHandler):
	"""Queues a task to start updating the model schema."""
	def get(self):
		deferred.defer(update_schema_pdf)
		self.response.write("""
		Schema update started. Check the console for task progress.
		""")

参考:Updating Your Model's Schema