問題タブ [inline-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 - Djangoadminインライン-フォームの最小数
Djangoでカスタムモデル管理インラインを作成する場合、2つのパラメーターextra
を設定できますmax_num
。表示する追加のフォームの数と、ユーザーが親オブジェクトにアタッチできるオブジェクトの最大数です。
質問モデルがあり、それぞれにいくつかの回答があり、質問管理者にインラインで表示されます。ほとんどの質問には3つの回答があるので、デフォルトで3つのインラインを表示したいと思います。ただし、すでに3つの回答がある質問を編集する場合、回答がまったくなくなる可能性が高いときに、3つの余分なフィールド全体を表示すると、混雑していて厄介に見えます。私が欲しいのは本質的にmin_num
パラメータです。デフォルトで少なくとも3つのフィールドを表示し、すでに3つ未満の回答がある場合は空にしますが、それでもユーザーがそれ以上追加できるようにします。
これをフォームセットとインラインの両方に追加するためのチケットを見つけましたが、解決されていないようです。現在、Django 1.4でこれを行う便利な方法はありますか?
django - データベース オブジェクトから初期化された modelformset インスタンスの作成
現在、タイプ のデータベースに一連のオブジェクトを設定していますCellType
。
私が必要としているのはinline formsetです。これにより、モデル間の外部キー関係の操作が明らかに簡素化されます。
私が欲しいのは、データベース内の CellType オブジェクトのそれぞれにリンクされた、CellCount インスタンスごとに 1 つのフォームで構成されるフォームセットです。
少し正しい方向に進んでいるようですが、実際に私が望むのは、CellCountForm のセル フィールドに正しい CellType オブジェクトを入力して、すべてをきちんとパッケージ化して保存できるようにすることです。これは、私が思っていたよりも少し複雑であることが証明されています!
models.py
フォーム.py
ウィジェットは、舞台裏で JQuery ベースの電卓によって設定されるため、非表示になっています。
理想的には、私が目指している疑似コード ロジックは次のとおりです。
django - 可変数の空のフォームを持つフォームセット
これが明確であることを願っています-これはかなり標準的なことだと思います。
空のフォームをいくつか作成したいのですformset
が、フォームセットがレンダリングされるたびに空白のフォームの数を変える必要があります。たとえば、次のように 2 つの空のフォームを取得できます。
しかし、問題は、最初に必要な空のフォームの数がわからないことです。GET パラメータに応答して、インライン モデル フォームセットで多数のフォームをレンダリングしたいとします。MyFormSet()
は常に 2 を返します。それ以上でもそれ以下でもありません。
私はこのようなものが欲しいです:
しかし、明らかにそれはうまくいきません。異なる数の空白のフォームでフォームセットをレンダリングするたびにMyFormSet
、 を使用して再定義する必要がありますか? formset_factory
それとも、明らかな何かが欠けていますか?
django - Django - インライン フォームセットの textInput サイズ属性の変更
次の 3 つのフィールドしかないインライン フォームセットがあります。
次に、そのモデルからフォームを作成します。
私の目標は、qty
入力フィールドを非常に小さくすることです (テスト用に 30 個あります)。ただし、インライン フォームセットを介してこのフォームをレンダリングすると、属性がまったく設定されません。私の見解では、フォームセットの作成は次のとおりです。
どこが間違っていますか?qty
フィールドのサイズが変わらないのはなぜですか?
django - InlineFormSet カスタム バリデーターへのエラーの挿入
correct
次のカスタム フォーム バリデータを使用して、InlineFormSet を通じてアプリケーションに複数のエントリが送信されないようにしています。
提示されたフォームオブジェクトはFalse
評価されたときに返され.is_clean()
ますが、エラーは返されないため、これは機能しています。pdb
を処理するビューで使用すると、次のように表示されPOST
ます。
raise forms.ValidationError("There must be one...
エラーエントリを作成するべきではありませんか? answerformset.errors
リスト内の空の辞書のそれぞれがそれぞれの回答フォーム用であることは知っていますが、non_field_error
またはそのようなものがあると思いましたか?
このきれいな関数を取得して、テンプレートに表示できるエラーを返すにはどうすればよいですか? これに non_field_error を追加するにはどうすればよいですか?
django - DjangoインラインとDateTimeField
シンプルなイベント アプリを作成しようとしているので、イベントといくつかのインライン イベントの発生を作成することにしました。
ここにforms.pyがあります:
しかし、バックエンドを開くと、DateTime ピッカーの代わりに単純な入力しか表示されず、それらのフィールドのラベルでさえ何も言いません:
これらのウィジェットをインライン内で使用する方法を知っている人はいますか? 私は何を間違っていますか?
前もって感謝します、マイケル
django - How can I change the queryset of one of the fields in the form I'm passing to inlineformset_factory
I'm using django extra views:
#xA;I want this 'keywords' field to change based on the pk I pass to the view through the url.
#xA;I could manage to overwrite the form's init, however:
I don't have access to self.kwargs inside LinkInline
Even if I did, I'm not sure I can pass an instantiated form to inlineformset_factory()
django - ImageField を扱う inlineformset_factory に追加のフィールドを含めます
Django を使用して、標準の ImageField を使用してアップロードされた画像のサムネイルを作成し、通常の imagefile フィールドと一緒に別のフィールド 'thumbnail' にテーブルへのパスを追加しています。表示できるように、フォームセットを使用してカスタムテンプレートでイメージフィールドオブジェクトをレンダリングするサムネイルパスにアクセスする方法を考え出しています。
「form=CarImageForm」を inlineformset_factory に追加してから、forms.py を変更する必要があると思いますが、その方法や、このアプローチが正しいかどうかさえもわかりません。わかりやすくするために、以下のコード サンプルにはその試みを含めていません。
私の最終目標は、元の画像にリンクするサムネイル画像を返すことです-すでに Imagefile フィールドを介して表示されています。
前もって感謝します!
テンプレートは次のとおりです。
フォーム.py:
ビュー.py:
models.py: