1

さまざまな場所での種の発生を追跡する「発生」と呼ばれるモデルがあります。モデルには 4 つのフィールドがあります。

 refID (foreign key to the reference source of data)
 siteID (foreign key to site)
 speciesID (foreign key to species)
 abundance (integer)

モデルフォームを作成してエントリを追加できることはわかっています。しかし、ほとんどの場合、siteID と refID の同じ組み合わせで数十または数百の種のデータを入力したいので、モデルフォームは面倒です。テンプレートに独自のデータ入力フォームを作成して、refID とサイト ID を選択し、jQuery を使用して種 ID と個体数の新しい行を追加しました。したがって、単一の refID + siteID の組み合わせがあり、多くの種 ID + 豊富なラインがあります。次に、追加されたすべての行を反復処理し、すべての出現をビューに保存します。

問題は、ビューですべてを「手動」で行う必要があるため、このフォームの検証が非常に難しいことです。これはよくある問題のように思えますので、どうかな……。

ここに既存の Django ソリューションがありませんか?

4

2 に答える 2

1

私があなたの質問を理解している限り、おそらくあなたはそうです。

フォームセットを見てください

于 2013-09-16T21:41:05.597 に答える
0

この問題の簡単な解決策は、モデルフォームを使用して一度に 1 つのインスタンスを保存することでした。モデルフォームへの「初期」引数を使用して、これらのフィールドの保存された値をリロードされたフォームに戻すことにより、refID および siteID フィールドを「スティッキー」にしました。このようにして、組み込みのフォーム検証をすべて使用できます。

于 2013-09-17T18:53:14.340 に答える