問題タブ [formset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6472 参照

python - InlineFormsets にカスタム フィールドを追加する方法は?

次のコードを使用してカスタム フィールドを InlineFormset に追加しようとしていますが、フィールドが Django Admin に表示されません。これを許可するには、InlineFormset があまりにもロックダウンされていますか? 私の印刷「ding」テストは期待どおりに起動し、form.fields を印刷してそこにすべて表示できますが、実際のフィールドは admin でレンダリングされません。

admin.py

0 投票する
7 に答える
41626 参照

python - form.is_valid() が false の場合にデータにアクセスする方法

有効な Django フォームがあれば、form.cleaned_data でデータにアクセスできます。しかし、フォームが有効でない場合、つまり form.is_valid が false の場合に、ユーザーが入力したデータを取得するにはどうすればよいですか。

フォーム セット内のフォームにアクセスしようとしているので、form.data が混乱しているようです。

0 投票する
2 に答える
850 参照

django - モデルフォームセットの問題

フォームを複数回表示する必要があるモデルがあります。私はそれをmodelformsetの下で使用しました。モデルの主キーでもあるこのモデルのIDに問題があるようです。
編集したいデータをフォームセットに事前入力します。
ただし、[送信]をクリックすると、ページが更新され、「(非表示フィールドID)このNoneは既に存在します」というエラーが表示されます。
このエラーは、特に非表示の「id」フィールドで発生します

これはテンプレートのスニペットです。(firebugから入手しました)フォームが無効であるために問題が発生する可能性があります。データを保存できません。

これはコードスニペットです。

0 投票する
4 に答える
5137 参照

python - ジャンゴフォームセットで非表示のオートフィールドを表示する方法

フォームセットを使用して表示される Django オートフィールドは、デフォルトで非表示になっています。それを示す最良の方法は何でしょうか?

現時点では、モデルは次のように宣言されています。

これを Django フォームセットを使用してレンダリングすると、

ページに次のように表示されます。

ありがとう。


編集

私はこのようなフォームセットを作成します -


2 回目の編集

そこで定義したカスタムフォームクラスを使用していないように見えるので、質問を少し変更する必要があります..

カスタム フォーム (隠しフィールドを表示する) からフォームセットを作成し、カスタム クエリセットを使用するにはどうすればよいですか?

現時点では、BaseModelFormSet クラスから継承してカスタム クエリ セットを使用するか、ModelForm クラスを使用してフォームにカスタム フィールドを追加することができます。フォームセットで両方を行う方法はありますか?


3 回目の編集

今使っている、

しかし、これはまだありません

  • ローシッドを表示
  • 指定されたカスタム クエリを使用します。
0 投票する
3 に答える
2439 参照

python - モデルフォームからモデルフォームセットを作成する

AutoFieldであるPK--locidを含むモデルMyModelがあります。

これからモデルフォームセットを作成したいのですが、いくつか注意点があります。

  • フォームセットのクエリセットは、all()ではなくカスタムクエリセット(たとえば、order_by('field'))である必要があります。
  • MyModelのlocidはAutoFieldであり、デフォルトで非表示になっているため、ユーザーに表示できるようにしたいと思います。

これを行う方法がわかりません。私は複数のアプローチを試しましたが、

上記は私に3つのフィールドを与えますが、locidは隠されています。

上記は私にManyToManyエラーを与えます。

誰かが以前にこのようなことをしたことがありますか?


編集2

フォームセットをインスタンス化するときにカスタムクエリを使用できるようになりましたが、IDはアプリケーションの使用にとって重要であるため、ユーザーにlocidフィールドを表示する必要があります。どうすればいいですか?オートフィールドの場合、PKを非表示にするデフォルトの動作をオーバーライドする方法はありますか?

0 投票する
2 に答える
6191 参照

django - Django では、テンプレートで手動でフォームセットを作成するにはどうすればよいですか?

テンプレートでフォームセットの一部を手動で作成しています。非表示フィールド TOTAL_FORMS および INITIAL_FORMS を取得するにはどうすればよいですか。私が呼び出すことができる隠し表示ウィジェットが既にそこにありますか?

0 投票する
2 に答える
1689 参照

python - Djangoフォームセットに初期データを検証させることはできますか?

次に例を示します。

したがって、例の「my_data」は、ユーザー入力の前に最初にロードされたときに表示するために形成したいデータです。しかし、ユーザーがデータを編集する前に既存のエラーがあるかどうかを確認できるように、データに対してフォームの検証を実行したいと思います。

私はこれをやってみました:

しかし、それは役に立ちませんでした。