問題タブ [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.
django - Django フォームセットの繰り返しがうまくいかない
通常の反復を使用して、フォームセット内の各フォームのcleaned_dataを取得しようとしています(Djangoのドキュメントに示されているように):
その後、各フォームを検証して反復処理し、次のような値を出力しようとしています。
しかし、私が得た結果は次のようなものです:
キーと値の個々のペアを取得することを期待していましたが、代わりに、反復ごとに POST データ全体を取得します。
私は次のようなものを期待していました:
反復 0:
反復 1:
どこが恋しいですか?
ありがとう
python - Django フォームセットは、多対多の関係で遅くなります
ユーザー、プロジェクト、ロールの 3 つのモデル間に多対多の関係があります。ユーザーは、同じプロジェクトであっても、複数の役割を果たしている複数のプロジェクトに参加できます。この関係は、Django の次のクラスでモデル化されています。
オブジェクトの種類ごとにすべての CRUD ビューを作成済みです。User
編集ビューでユーザー プロジェクト ロールを追加/編集するためのフォームセットを提供する必要があります。編集ビューでは、Project
ユーザーの役割を追加/編集するためのフォームセットを提供する必要があります。たとえば、プロジェクトの編集ビューで、私が基本的に行ったことは次のとおりです。
そして、テンプレートで:
これにより、プロジェクト内のユーザーと役割の関係ごとに、ユーザーの選択フィールドと役割の複数選択フィールドが表示されます。問題は、ユーザーと役割の関係の数が増えると、ページの読み込み時間が異常に長くなることです。ユーザーのリストとロールのリストを取得する必要があるたびにSQLクエリを実行するため、これが発生することはわかっています。Django が同じことに対してこれほど多くのクエリを実行しないようにする方法はありますか?
django - Django フォームセットでオブジェクトをフィルター処理する
私は inlineformset_factory を使用してフォームセットを生成しています:
2つの質問があります
- 適用可能なすべてのオブジェクトが存在するのではなく、フィルタリングされたサブセットのみが存在するように、Model2 オブジェクトを制限するにはどうすればよいですか?
- フォームセットでクラスベースのビューを使用するためのコード例はありますか?
質問#1に答える機能するコードで更新
python - Django - パラメータをインラインフォームセットに渡す
私はinlineformset_factory
、クライアントとセッションの間の多対多の関係のためのフィールドを作成するために使用しており、中間の出席モデルを使用しています。
ビューファイルには次のものがあります。
また、フォーム フィールドの 1 つをオーバーライドする必要があったため、フォームセットの基本クラスに以下を追加しました。
これで、フォームは正しく機能しますが、ID 2 を使用するだけでなく、現在のユーザーに基づいて表示されるクライアントをフィルター処理できるように、フォームセットに値を渡す必要があります。
誰でも助けることができますか?
アドバイスをいただければ幸いです。
ありがとう。
編集
読んでいる人にとって、これは私のために働いたものです:
python - 同じWebページ上のフォームとフォームセットの関係
フォームセットで作成されたすべてのオブジェクトを、フォームセットと同じWebページで作成されたオブジェクトに関連付けようとしています。したがって、コードの例は次のとおりです。
私が抱えている問題は、フォームセットオブジェクトをフォームオブジェクトに関連付けようとすると、フォームオブジェクトが実際には存在しないことを通知することです。ただし、データベースにオブジェクトを作成しますが、フォームセットオブジェクトは作成しません。「「u」を割り当てることができません」というエラーが表示されます。「Species.BName」は「BModel」インスタンスである必要があります。それが助けになるなら。また、関係はForeignKeyです。これを解決する方法はありますか?御時間ありがとうございます。
python - フォームセットのメンバ フォームにアクセスする方法
カスタム フォームを使用している inline_formset があります。そのフォームには、私が呼び出したいさまざまな機能があります。しかし、フォームセットのインスタンスが与えられた場合、その (それらの?) フォームにアクセスするにはどうすればよいでしょうか?
ここにいくつかの疑似コードがあります:
django - djangoフォームセットでフォームのデータにアクセスする方法
フォームセットからフォームデータにアクセスする際に問題が発生しました。コードを添付しました:
エラーは、form['action_name']を取得できないことです。formset.is_valid()はTrueを返します
エラー
例外タイプ:KeyError
例外値:'action_name'
投稿データ
form-0-action_name u'a '
form-2-description u'sadsa'
フォーム-0-説明u'a'
フォーム-MAX_NUM_FORMSu''
form-1-description u'asd'
フォーム-TOTAL_FORMSu'3 '
form-1-action_name u'as'
form-INITIAL_FORMS u'0 '
csrfmiddlewaretoken u'c4fa9ddb4ec69ac639d7801eb14979f2'
form-2-action_name u'asda'
django - modelformsetでmanytomanyfieldを保存する
別のモデルと多対多の関係にあるモデルがあります。どちらにもフォームが関連付けられており、後者にはフォームセットがあります。
私のビュー/テンプレートでは、標準のManyToManyFieldウィジェットがフォームセットに置き換えられています。したがって、そのフォームセットで指定されたBarのインスタンスをFooのManyToManyFieldに手動で関連付ける必要があります。私はFooのクリーンな方法でこれを行っています:
これはほとんど機能します。問題は、Foo.barsをフォームセット内の変更されたフォームのセットに設定することです。したがって、fooに1つのバーを追加してから、フォームをリロードして2つ目のバーを追加すると、fooはその2つ目のバーしか持たなくなります。
Djangoのドキュメントによると:
save()メソッドは、データベースに保存されたインスタンスを返します。特定のインスタンスのデータがバインドされたデータで変更されなかった場合、そのインスタンスはデータベースに保存されず、戻り値に含まれません...
だから私は私のコードが失敗する理由を理解しています。どうしたらいいのかわからない。新しく変更されたフォームを追加し、既存のフォームを削除しないcleaned_data ["bars"]に何を渡すことができますか?
助けてくれて本当にありがとうございます。
python - djangoテンプレート:フォームセットで多対多の値を取得
モデル:
フォーム:
booklist.html:
したがって、これにより、各本の著者に対して複数の選択ボックスが出力されます。テンプレートで作成者のfirst_nameを取得するにはどうすればよいですか?
ありがとう、アディ
編集:ビューを追加
ビュー:
ブックリストページをブックリストページにロードするためのjsコード: