私は、データがExcelスプレッドシートを含むさまざまなソースから来るDjangoアプリケーションを作成しています。私はそれらのシートから最初のインポートを行うためのコードを書いたことがありますが、行が追加されるたびにデータ全体を再インポートするのは嫌いです。クライアントは自分自身でデータを再入力したくない。データをdjangoの管理フォームに投稿する
可能な解決策は、ユーザは、スプレッドシートの行全体をコピー&ペーストできる単純なテキストエリアにフォームを追加することです。次に、ビューはデータを分割して前処理し、対応するオブジェクトの標準管理フォームに投稿することができます。
理想的には、ユーザーがこのフォームから実際に投稿したように動作します。データが検証された場合、オブジェクトが作成され、作成されていない場合は管理者フォームが赤色のエラーボックスで再表示されます。
は、だから、私はちょうどfrom django.shortcuts import redirect
[...]
return redirect(to, method=POST, *args)
ようなものが必要だろうと思ったが、利用可能ではないようです。
私はhttp://.../admin/app/object/add/?ID=1234&name=toto&のような大きなクエリ文字列としてデータを渡すことも考えましたが、私のモデルには1対多と多対多のインライン、長いテキストフィールドなどがあるため、多くのフィールドがあります。アプローチは必要以上のトラブルのようです。
POSTリダイレクトのようなものを取得するにはどうすればよいですか?またはこの問題に対する別のアプローチですか?
ユーザーにcsvファイルをアップロードさせるのはどうですか? –
https://stackoverflow.com/questions/4952222/build-a-two-stage-django-admin-form-for-adding-an-object – Miranda