PythonによるGoogle App EngineでのDB(データベース)をUPDATE(更新)する方法をなるべく具体的に教えて下さい。

putでしょうか?GQLでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2012/01/12 20:11:39
  • 終了:2012/01/19 20:15:07

回答(5件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982012/01/12 20:19:24

id:m121212m

早速の回答ありがとうございます。
そのページは既に見ております。
具体的なデータ取得と更新の例を記していただけると助かります。

2012/01/12 21:35:30
id:taknt

質問では 更新の仕方を 聞いていたので PUTというように回答しました。

2012/01/13 00:08:58
id:TransFreeBSD No.2

TransFreeBSD回答回数662ベストアンサー獲得回数2642012/01/12 22:17:40

ポイント167pt

http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/usingdatastore.html
これにおける具体的なデータ取得部分はMainPageクラスのgetメソッドで、GQLを発行して結果greetingsを受取り、次のforループ部で一つづつgreetingのプロパティを使っています。

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

        for greeting in greetings:
            if greeting.author:
                self.response.out.write('<b>%s</b> wrote:' % greeting.author.nickname())
            else:
                self.response.out.write('An anonymous person wrote:')
            self.response.out.write('<blockquote>%s</blockquote>' %
                                    cgi.escape(greeting.content))

更新の部分はGuestbookクラスのpostメソッドでgreetingを作成し、プロパティを設定してput()で更新をしています。

        greeting = Greeting()

        if users.get_current_user():
            greeting.author = users.get_current_user()

        greeting.content = self.request.get('content')
        greeting.put()

という部分を中心とした完動する具体例を元にデータストアを詳細に解説しているページだと思うのですが、どこか分からない部分がありますか?

id:taknt No.3

きゃづみぃ回答回数13537ベストアンサー獲得回数11982012/01/13 00:13:46

ポイント166pt

http://itpro.nikkeibp.co.jp/article/COLUMN/20080529/305017/
http://appengine.keicode.com/gae/datastore-gql-python.php

データ取得の例
diary_today = db.GqlQuery("SELECT * FROM Diary where diary.author = :1",
users.get_current_user())

保存の例は
http://appengine.keicode.com/gae/datastore-gql-python-save.php
を参照

id:nmori No.4

morinatsu回答回数72ベストアンサー獲得回数82012/01/13 20:08:43

ポイント166pt

GQLは問い合わせに使えるだけで、更新はできません。
1.GQLなりクエリなりで、データストアの内容をオブジェクトに読み込む。
2.オブジェクトを書き換える。
3.putでオブジェクトをデータストアに突っ込んで更新。
 
UPDATEではないですが、INSERTイメージのアクセスをやるアプリを昔作りました。
(諸々の事情で今は動かしてませんが)
http://github.com/morinatsu/nico-rank

id:nmori

よく見たらUPDATEもやってますね。INSERTはRankingオブジェクト、UPDATEはRelevantDateオブジェクトに対して行っています。

2012/01/13 20:16:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません