問題タブ [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 に答える
2628 参照

django - Djangoでフォームセットをどのようにユニットテストしますか?

わかりましたので、ビューのより正確なフォームを単体テストする必要があります。だから私はそのような単体テストを作成します。

もちろん、私はエラーを返します

AttributeError: 'ShareholderFormFormSet' オブジェクトに属性 'fields' がありません

フォームセットにはフィールドではなくフォームが含まれているため、フォームセットをテストする正しい方法は何ですか?

0 投票する
1 に答える
459 参照

django - Django - フォームセットとインライン フォームセットのユースケース?

どちらを使用するか(フォームセットまたはインラインフォームセット)について本当に疑問があります。

自転車を予約するためのオンライン配送リクエスト フォームがあります。自転車には複数の種類があるため、「DeliveryRequests」と「DeliveryRequestBikes」の 2 つのモデルがあります。

これがフロント エンド フォームであることを明示するのを忘れていました。1 つの「DeliveryRequests」レジスターに1 つ以上の「DeliveryRequestBikes」を挿入できる必要があります。

フォームセットとインライン フォームセットのどちらを使用すればよいですか?

アドバイスをお願いします。

よろしくお願いします、

0 投票する
1 に答える
1174 参照

django - Django フォームセット、削除するデータベース項目を選択するためのチェックボックスのインデックスを作成するにはどうすればよいですか?

私はおそらく3週間しっかりとRTFMを行ってきましたが、これを行う方法がわかりません. もし私がこれに慣れたら、Django for Dummies の本を書くことを約束します。ドキュメントは理解できません!

データベース内の各メモのタイトルを表示するインデックス ページを備えた簡単なメモ取りアプリがあります。リストの各項目にチェックボックスを付けて、1 つまたは複数のメモを選択してから削除ボタンを押して、「Are you sure you want to delete... "x, y and z" notes?」にリダイレクトできるようにしたいだけです。ページ、確認または拒否。次に、索引リストに戻ります。管理アプリと同じです。

各オブジェクトのタイトルとそのチェックボックスが個々のフォームを構成する必要があるため、テーブルにレイアウトされたモデルフォームセットが必要であると推測しました。

私は多くのアプローチを試みました。最新はこんな感じ。現状ではエラーは発生していません (forms.py 関数でウィジェット属性を設定していましたが、それは気に入らなかったため、何かが表示されるかどうかを確認するためだけに取り出しました)。全て。また、 select_note_function はおそらくクラスにする必要があると思います。私が見つけることができるすべてのドキュメントは、CharFields と文字列入力を説明しています。データベースを制御するウィジェットを取得する方法の完全な例が 1 つも見つかりません。

フォーム.py:

models.py:

テンプレート:

私が知っている限りでは、私は完全に間違った木を吠えている可能性があります. 誰かがこれを綴ることができれば、私はそれをとても感謝しています!

0 投票する
1 に答える
1739 参照

django - Django ModelFormset を保存しても新しいオブジェクトが保存されない

更新:エラーが見つかりました...

上記の部分により、フォームが保存されなくなりました。理由はわかりません。これを削除し、比較的ハックな回避策を実行すると、修正されました。これで、JavaScript を使用して入力されたフォームにModelSelect という名前が付けられcompanyました。


元の質問:

基本的にフォームセットのみを表示および保存するDjangoビューがあります。そのコードは次のとおりです。

これの目的は、ユーザーがデータベースから契約者を作成/更新/削除できるようにすることです。ContactPersonFormSet は次のように定義されます。

問題は、何らかの理由で元の担当者のみがデータベースに保存されることです。新しい担当者の save() メソッドが呼び出されることはないため、新しい担当者が作成されることはありません。私が見る限り、すべてのデータは POST にあります。元のアイテムは save() 関数が呼び出されるため、フォームセットも有効です。

POST データに空の 'id' を含めているという事実に落ちているのでしょうか?

POST のデータは次のとおりです。

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

python - django でいくつかのフォームから情報を収集する

私は単純な検索エンジンを作成しているので、ページの上部に入力テキスト フィールドが 1 つあり、その横に「検索」というボタンがあります。それはすべて 1 つの形式であり、たとえば「生成」します/q=search%20query

fromサイドバーには、フィルター付きの別のフォームを含むパネルがありますto。のようなリンクを作成できるようにしたい/q=search%20query&from=20&to=50。最初のフォームのボタンが 2 番目のフォームから情報を収集する方法を知りたいです。

フォームセットのようなものがあるとどこかで読みましたが、そのようなものに使用できるという情報は見つかりませんでした。

0 投票する
1 に答える
1159 参照

django - Django の formset.is_valid() は機能しますか?

私はそのような単純な見方をしています:

空のタイトルフィールドで送信をクリックすると、フォームセットの検証で有効であることが示されます(必要な値に関するメッセージが期待されます)しかし、フォームセットを次のようなフォームと交換すると:

「# [1]」でマークされた行で、フォームに「このフィールドは必須です」というメッセージが表示されます(これは予想通りです)

html ファイル:

どうしたの?