問題タブ [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.
python - Django:フォームセットエクストラを使用してラベルを変更するには?
formset を使用して追加のフィールドを作成していますが、formset によって作成された追加のフィールドのラベルを変更する方法がわかりません。
私のコード:
install.html テンプレート:
たとえば、「Number_of_Lines」= 2 の場合、ラベル付きの次のフォームが期待されます。
django - Djangoフォームセットが適切にクリーニング/保存されていない
inlineformset_factoryを使用してフォームセットを作成しています。親オブジェクトは注目のセットであり、子オブジェクトは注目のアイテムです。フロントエンドで「django-dynamic-formset」jQueryプラグインを使用して、フォームセットフォームを動的に追加/削除しています。
フォームセット内の各フォームは期待どおりに適切なデータで送信されますが、cleaned_dataにはフォームのIDのみが含まれます。
意見:
フォーム:
モデル:
コンソールへの出力:
django - Djangoフォームセットと外部キーの保存
私はインターネットで見つけたほとんどすべてのアイデアを試しましたが、それでも機能していません。
評価とスキルは別のモデルです。私のアプリでは、スキルごとにフォームを作成してランク付けしたいと思います。そのためにdjangoフォームセットを使用しました。Skill.objects.all()で取得した初期データを使用して、RankedSkillFormsからフォームセットを作成します。
保存しようとするまで、すべて正常に動作します。
初期データ(スキル)をu'SkillObject'文字列として取得します。(ユニコードを削除しました。以前は、u'Skill Object'文字列の代わりにスキルの名前が表示されていたためです)
エラーメッセージは「「u'スキルオブジェクト'を割り当てることができません」:「RankedSkill.skill」は「スキル」インスタンスである必要があります。」です。
django - django ModelFormSet がエラーを返し、空のフォームを除くすべてのフォームを表示したい
django 1.4 を使用して、ModelFormSet に初期インスタンスがなく、extra と max が 6 に設定されています。
ユーザーが最初にページにアクセスしたときに、jquery を使用して 1 つの空白のフォーム (フィールドセット) のみを表示します。ユーザーはボタンを押して残りのフォームを表示できます。フォームが検証エラーで返された場合、jquery を使用してクラス errorlist を持つフィールドセットを検索し、それらすべてのフィールドセットを表示できます。ただし、有効なデータを含むフィールドセットも表示したいと考えています。各フィールドセットのすべての要素を検査して、値があるかどうかを確認できますが、それは扱いにくいようです。Django はフォームがいつ変更されたかを知っているので、それらのフォームにプレフィックスを追加して、html でそれらを見つけられるようにすると考えました。
問題は、私が clean() をオーバーライドしている方法により、フォームがエラーで返されたときに送信されたデータが失われることです (初期データなしで返されます)。次のように、最初に検証エラーをチェックして早めに戻った場合:
、データはまだそこにありますが、もちろんプレフィックスは追加されません。has_changed() の代わりに is_bound を使おうと思ったのですが、最初からすべてのフォームがバインドされているようです。
BaseModelFormSet.clean() をオーバーライドしてプレフィックスを追加すると、返されたフォームの初期データが失われる理由はありますか?
django - すべてのフォームを検証するDjangoフォームセット
このようなフォームセットを作成しました。
そして、クラスを使用してすべての処理を処理するビューに表示する奇妙な方法があります。でも、こんなん...
問題は、このフォームをビューでレンダリングすると、空のフォームセット内のフォームが検証されないことです。「このフィールドは必須です」と報告する。すべての高さフィールドの横。空のものでさえ。
空のフォームは常に検証に合格する必要があるというのが私の理解でした。管理フォームのデータを確認しましたが、問題ないようです。
required を False に変更すると、フォームセットをデータベースに保存しようとすると IntegrityErrors が発生することになります。
django - django-dynamic-formset および django-autocomplete-light - 新しい行に対してオートコンプリートが正しく機能しない
django-dynamic-formset で autocomplete-light を使用しています。動的に追加された行のオートコンプリートは機能しません。オートコンプリートでポップアップが表示されますが、最後に静的に作成された行に固定されます。リスト内のアイテムを選択すると、現在の行ではなく、最後に静的に作成された行に値が挿入されます。静的に作成されたフォームセットの場合、 autocomplete-light はうまく機能します。
それは私のフォームとフォームセットです:
それは私のjsフォームセットの作成です:
Django 1.5、django-dynamic-formset 1.2、autocomplete-light 1.1.23 を使用しています
django - Django は複雑なフォームセットを表示します
複雑な modelForm フォームセットを表に表示しようとしています。私のモデルは次のようなものです:
... Parent の各オブジェクトには多くの Children (この場合は 20) があります。CHOICES1、CHOICES2、および CHOICES3 の組み合わせごとに 1 つのインスタンス。var
特定の親の各子のフィールドを編集するフォームが必要です。したがって、私のフォームは次のようになります。
これをループして、1 列と 20 行の素敵なテーブルを作成できますが、たとえば、「1」と「2」は単なるラベルですが、var1.1.1 ... var3.3.3 は、この正方形を作成するにはどうすればよいですか?var
フォームセット内のフォームごとに 1 つのテーブル セルを含む、フォームセットからのフォーム フィールド。
(ASCIIを許してください)。
これらをループして、3 番目のセルごとに a を挿入できます。しかし、私は入力が混同されることを本当に望んでいません (つまり、フォーム送信でエラーが発生するとどうなりますか?フォームセット内のフォームの正しい順序を確認するにはどうすればよいですか?)
ハードコードすることもできますが、選択肢の数はプロジェクトが進むにつれて変わる可能性があります。
では、これに対処する最善の方法は何ですか?私が持っていた 1 つのアイデアは、モデル フォームを避けて、1.1.1 から 3.3.3 までの 20 のフィールドを持つ別のフォームを作成することでした。自分で手動で行うのですが、もっと簡単なことはありますか?
django - ビューからdjangoフォームセット_all_エラーを設定するには?
説明 :
さて、formset は一連のフォームです。私は基本的にいくつかの数値、またはこの数値を取得するフォームを持っており、それをフォームセットのすべてのフォームの合計数値と比較します。そのため、ビューで検証の一部を行います。これらの数値が一致しない場合は、フォームセット内の特定のフォームではなく、すべてのエラーをフォームセットに設定する必要があります。
ビューから通常のフォームエラーを設定しても問題ありません:
しかし、すべてのエラーをフォームセットに割り当てるにはどうすればよいですか?これは可能ですか、またはこのエラーをフォームセット内のフォームに割り当てる必要がありますか?
django - Django modelformset 除外
と の 2 つのフィールドを持つモデルがあるuser
としmoney
ます。そして、ユーザーのお金のフィールドのみを編集したいと思います。
たとえば、フォームからフィールドを作成しmodelformset
て除外するとuser
、誰かが偽のフォームを作成し、ユーザー フィールドが含まれている場合、それは無視され、境界付きインスタンスで保存されるということですか?
それとも、このようなものをまだ検証する必要がありますか? たとえば、誰かが新しいユーザーを含む新しいフォームをまだ含んでいる場合、どうすればよいでしょうか?