0

私は最初のWebアプリを作成していて、送信されたフォームの結果を表示するページの書き方を理解しようとしています。これを行う方法についてのガイダンスが必要です。

動作するフォームを作成しました。フォームは、結果をデータベースに出力するいくつかのAPIを実行します。データベースの値を結果ページに表示したいと思います。データベースには、フォームの送信時に作成されるテストIDを保持するテーブルがあります。データベースからIDを取得するには、

select max(id) from test

したがって、私がユーザーでフォームを送信した場合は、そのIDの結果ページに移動したいと思います。したがって、テストIDが10の場合、URLはhttp:// / results / idである必要があります。ここで、idは、テストからselect max(id)によって返される値です。隠しフィールドを使用してフォームのIDを取得し、これを使用してURLを作成できるようにすることを考えました。誰かがこれを行う方法について何かアイデアを持っていますか?

ありがとう-Vioilly

4

1 に答える 1

0

データベースから最大IDを取得するようなものを実行するのはかなり悪いです。他の誰かがあなたの直後にフォームを投稿し、あなたがそのIDを最大として取得した場合はどうなりますか?

むしろそのようなことをします(モデルフォームの場合)

if form.is_valid():
  o = form.save()
  return HttpResponseRedirect('results/'+str(o.id)+'/')

アラン

于 2012-09-10T13:39:54.933 に答える