AppEngine管理画面から数値IDでGQLを投げる

  • 4
    Like
  • 0
    Comment
More than 1 year has passed since last update.

gql.jpg

GoogleAppEngineのDatastoreを管理画面で見る時、
entity.key.id()みたいな数値のIDでGQLを投げる方法です


Pythonから投げる時はModel.get_by_id()を使えば簡単に取れるのですが、
管理画面上で数値のIDを使って
Select * FROM HogeModel WHERE id = 12345;
みたいにやろうとしても上手く行きません。

正しいGQLのやり方を探してみた所、以下のやり方が正しいそうです。

SELECT * FROM HogeModel where __key__ = KEY('HogeModel', 12345)

keyというプロパティがKEY型で入っているので、
GQLでもKey型に揃えて検索してあげる必要があるみたいです。
Model名を2回入れなくてならないのがちょっと面倒ですね。

参考:
http://stackoverflow.com/questions/3869858/gql-query-with-numeric-id-in-datastore-viewer