0

各エンティティがプロパティとしてユーザー情報と2つの文字列を持つndbデータベースを使用するGAE上のWebアプリがあります.Entityクラスは以下のようなものです

class UserPlus(ndb.Model): 
user = ndb.UserProperty()
dogName = ndb.StringProperty(indexed=False)
catName = ndb.StringProperty(indexed=False)

dogNameメイン ページは、そのユーザーに対応するエンティティが既に存在するかどうかを確認し、存在する場合は、文字列およびの値を表示しますcatName

次に、ユーザーが と の値を更新できるフォームがありdogNameますcatName。これは別のページへの POST リクエストを実行し、以下のメソッドはエンティティを更新します

    def post(self): 
    currentUser = users.get_current_user()
    up = UserPlus.query(UserPlus.user==currentUser).get()
    up.dogName = self.request.get('dog_name')
    up.catName = self.request.get('cat_name')
    weatherUser.put()
    self.redirect('/')

しかし、メイン ページにリダイレクトされると、ページを更新するまで と の値は更新されませんdogNamecatName同じ位置でメソッドを 1 回ではなく 2 回呼び出すことでput()、これはもう発生しないことがわかりましたが、明確な理由はわかりません。

私は何か間違ったことをしていますか、それともndbがどのように機能するはずですか?

4

1 に答える 1

1

Guido が疑うように、Bossylobster/Fred Saur が私の古い質問に答えました ここ -ローカル環境でリダイレクトした後、古い結果を期待する必要がありますか? - 最も可能性の高い結果整合性の問題。

于 2013-09-10T20:50:28.760 に答える