HOME > ブログ > Google App Engine データストアのちょっとしたTips

Google App Engine データストアのちょっとしたTips

今回はGAEのデータストアのちょっとしたTipsを紹介します。備忘録もかねて…

(Googleドキュメントに書かれている基本的なことは読んでいるものとします)





以下詳細。


[Tips]その1

greetings = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10")

for greeting in greetings:
    self.response.out.write('<blockquote>%s</blockquote>' % cgi.escape(greeting.content))
クエリを発行して「for」文で出力。

「greetings」にはヒットしたレコードが配列で入っているのでこう書くこともできるみたい。
greetings = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10")
cnt = greetings.count()

i = 0
while i < cnt:
    self.response.out.write('<blockquote>%s</blockquote>' % cgi.escape(greetings[i].content))
    i += 1
ただしこうやると処理は遅くなる。





[Tips]その2

greetings = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10")
print greetings[0].content

greeting = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10")[0]
print greeting.content

greeting = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10").get()
print greeting.content
は同じ出力になる

真ん中の書き方においては「[0]」の数字はn行目のレコード取得を表す。
| Python | Comment:0 |
コメント投稿












画像リロード
*半角の小英字、数字で構成されています