問題タブ [formsets]
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.
python - ContentType で formset を使用する
フォームとフォームセットで構成されるビューに UpdateView を使用する際に問題が発生します。
私は次のモデルを持っています:アイテムと写真。
画像は次のように定義されます。
写真を含むモデルがいくつかあります。たとえば、Item モデルでは次のようになります。
私は次のItemCreateFormを持っています:
ピクチャーフォーム:
そしてビュー:
これは私の urls.py です:
テンプレート:
私はDjangoが初めてです。
ユーザーは、アイテムと複数の画像を表示するために使用される単一のテンプレートの画像フォームを使用して、動的に (jQuery を介して) 画像を追加/削除できます。
1 写真の非表示フィールドとして ID を含める必要がありました。そうしないと、Update の代わりに写真が挿入されます。QN: これを行うためのより良い方法はありますか?
2 画像モデルを更新するにはどうすればよいですか? 現在request.POST
、モデルにすべてのフィールドが含まれていないため、モデルは NULL フィールドについて不平を言っていますか? URLにpkを含むUpdateViewの簡単な例のように、UpdateViewでフォームセットを処理する方法が完全にわかりません。これはメインフォームではありません。
python - カスタムフォームdjangoのフォームセットを保存
Django でフォームセットを保存しようとしています。そのために、モデルとカスタマイズされたフォームがあります。次に、この方法でフォームセットを作成します。
しかし、 formset.save() を実行すると、AttributeError: 'QuoteFormFormSet' object has no attribute 'save'
私のモデル:
私のフォーム:
django - フォームのcleaned_dataは空ですが、formsetのcleaned_dataは空ですか?
フォームセットの各フォームで CharField の文字列値を使用しようとしていますが、何らかの理由で各フォームのcleaned_dataは常に空に見えますが、フォームセットのクリーニングされたデータはそうではありません。私のviews.pyのコードは次のとおりです。
私のフォームは次のようになります。
前に述べたように、tags_formset.cleaned データにはページに入力された正しい情報が含まれていますが、フォームのクリーニングされたデータは空です。このコードでは、「タグ」は何も含まれていないため、クリーニングされたデータに含まれていないという KeyValue エラーが発生します (saveTags 関数でエラーがスローされます)。
django - django クリスピー フォームで言及されていないフィールドを含む div で各フォームをフォームセットにラップします
次のコードを使用して、フォームセット内のフォームのすべてのフォーム フィールドを django クリスピー フォームの div にまとめています。
FormHelper を「self」でインスタンス化すると、すべてのフィールドを指定しなくてもレイアウトが自動生成されます。フィールドが動的に生成されるため、これが必要です。問題は、DELETE フィールドと ORDER フィールドがレイアウトに追加されていないことです。そこで、render_unmodified_fields を True に設定しました。この設定では、これら 2 つのフィールドは少なくともフォームに表示されますが、div の残りのフィールドでラップされません。
フォームセット内のフォームを手動で反復処理して div でラップできることはわかっていますが、これはこれまで行ってきたことですが、これにはフォームセットの非フォーム エラーを手動で処理する必要があり、通常は自動的に行われます。クリスピーで。
編集: 要求に応じてコードを更新しました。このクラス全体は実際には fields_list に値を設定するファクトリ メソッドにラップされているため、特定のフィールドのみを動的に含めることができます。ORDER と DELETE は意図的に省略されています。それらは自動的に検出され(それらを含めるとエラーになります)、フォームに表示されます。単に div にラップされません。
html - 外部キーリンクを使用してmodelFormsを保存するときに、Django 'ManagementFormデータが見つからないか、改ざんされています'
私は Django にかなり慣れていないので、これは簡単な質問かもしれません。別のモデルへの ForeignKey がある 2 つの modelForms があります。私の主な目標は、特定の病気に対して複数のインジケーターを使用できるように、病気 (FK) へのリンクを使用してインジケーターを保存することです。
以下のコードでは、送信を押したときに「ManagementForm データが見つからないか、改ざんされています」というエラーが表示されます。また、views.py のコードは、return HttpResponseRedirect がある 3 番目の「if」ステートメントで検証されていないようです。ただし、データベースを確認すると、フォームの値が書き込まれています。エラーが発生した理由についてのアイデアはありますか? そしてそれを修正する方法は?
私のコードは以下の通りです:
models.py
フォーム.py
ビュー.py
template.html
html - 外部キーで2つのフォームセットをレンダリングするときのDjango「ManagementFormデータがありません」
1 つのビューで 2 つのフォームセットをレンダリングしようとしていますが、
エラー。Web ページは正常にレンダリングされ、送信を押したときにデータが値をデータベースに渡しますが、管理フォームのデータを間違って渡していると思います。
また、「 https://docs.djangoproject.com/en/dev/topics/forms/formsets/ 」を使用したことも付け加えておきますが、管理フォーム データの受け渡しに関する十分なドキュメントが提供されていませんでした。また、私のオプションと結果のフォームセットは同じ外部キーを持っています。管理フォームのデータを渡す際に問題が発生した場合、またはコードに何か問題がある場合はお知らせください。
以下は私のviews.pyとhtmlです:
ビュー.py
html:
django - ネストされたモデル/インライン フォームセット
いくつかのレベルの編集可能なデータが必要なページに取り組んでいます。基本的に、エンティティはゼロから多数のグループを持つことができ、各グループはゼロから多数のユーザーを持つことができます。次のようにモデル:
したがって、この場合、小隊は複数の分隊を持つことができ、その分隊は複数の分隊メンバーを持つことができます。ここで、分隊メンバーは兵士への相互参照です。
ページをレンダリングすると、どの小隊を見ているかがわかるので、分隊と分隊メンバーのリストを取得するのは簡単です。問題は、各分隊のメンバーを追加/削除するだけでなく、ページ上で分隊を追加/編集/削除できる必要があることです。私はこの数日間、このデータの処理に頭を悩ませようとしてきましたが、実際のブレークスルーはありません. ある種のネストされたモデルのフォームセットまたはおそらくインラインのフォームセットである必要があると考え続けていますが、この件に関する資料はあまり見つかりませんでした。
これにアプローチする方法について何か提案はありますか?
ありがとう、
アレックス