GAE djangoformsの例を、Google App Engineでフォームを送信した後(最新のエントリを更新または追加するときなど)に最新のものに書き換えたい高レプリケーションデータストア。DjangoFormsでエンティティグループと祖先を使用する方法
この記事の主な定期的なクエリは次のとおりです。
我々はに変換されますquery = db.GqlQuery("SELECT * FROM Item ORDER BY name")
:
query = Item.all().order('name') // datastore request
私は後に高い複製データストアからアップデートされた最新のデータを取得したいと思いこのクエリフォームを提出してください(これらの機会に限り、提出後に特定のURLにリダイレクトすることはできますが、これは最新のデータのクエリを使用しています。
data = ItemForm(data=self.request.POST)
if data.is_valid():
# Save the data, and redirect to the view page
entity = data.save(commit=False)
entity.added_by = users.get_current_user()
entity.put() // datastore request
と(編集用)のフォームを埋めるためのデータストアから最新のエントリは次のように発生したばかり:
id = int(self.request.get('id'))
item = Item.get(db.Key.from_path('Item', id)) // datastore request
data = ItemForm(data=self.request.POST, instance=item)
それでは、どのように私のよう起こる結果を格納するフォームを検証し
フォーム提出後の最新データを反映するために、これらのデータストアクエリにエンティティグループ/先祖キーを追加します。フォームにデータを入力するとき(編集用)とフォームを送信した後で、すべてのクエリに最新のデータを保存する必要はありません。
実際のコード例を教えてもらえますか?
重複[高レプリケーションデータストアを使用する方法](http://stackoverflow.com/questions/8551605/how-to-use-:あなた
put()
それ一度その後、あなたはその
id
によってを得ることができます高レプリケーションデータストア) –@DanielRosemanこれは、他の質問の回答に見られるように、これは重複する質問ではありません(同様ですが、重複しません)。 – reallife
@moguzalpはい、フォームを送信した後、最後に編集/挿入されたデータを表示したいと思います。さらに、データを挿入/編集してフォームを再読み込みするときに、このデータの最新バージョンを事前に入力しておく必要があります。 – reallife