問題タブ [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 - save_formset および save_model の親オブジェクト フィールドにアクセスする
InvoiceAdmin モデルで ActionAdminInline として使用される ActionAdmin モデルがあります。
InvoiceModel では、save_formset をオーバーライドして、いくつかの値を自動設定します。各アクション インスタンスの値を設定することは問題ありませんが、親の請求書のフィールドを取得できませんでした。
私はそれがselfまたはself.project.pkでなければならないと思っていました。また、他のスレッドで見られるform.project.pk で取得しようとしました。
私が得るエラーは、InvoiceAdmin にそのようなフィールドがないことに関するものです。それは私には理にかなっています。self は InvoiceAdmin オブジェクトであり、Invoice オブジェクトではありません。Action instance.invoice と instance.project を設定するには、Invoice オブジェクト フィールドを取得する必要があったと思います。
この親オブジェクトの値を取得する方法を誰かが知っていますか???
次のようになります。
これはエラーメッセージです:
セルフ オブジェクトが InvoiveAdmin で Invoice ではないことは問題ですか? インスタンス オブジェクトは Action であり、ActionAdmin ではありませんか?!
django - 動的フォームセットの問題
djangoで動的なフォームセットを構築するのに助けが必要です。いくつかのJavaScriptが必要であることを理解しています。私はJavaScriptの専門家ではありません。しかし、いくつかのサンプルコードを見つけ、それを自分の特定のフォームで機能するように適合させようとしています。[追加]ボタンをクリックしても何も起こりません。そして、私は前進する方法に途方に暮れています。助言がありますか?
モデルは参加者イベント登録用です。顧客は、イベントに参加するために複数の人を登録できます。
参加者の追加ボタンを取得しようとしています。
django - Django インライン フォームセット エラー
フォームにインライン フォームセットを追加しようとしています。エラーを再現するための最小限のコードは次のとおりです。
models.py
urls.py
ビュー.py
フォーム.py
これにより、AttributeError: 'ModelFormOptions' オブジェクトに属性 'get_parent_list' がありません。SO でここに示されている解決策に従っているので、私は少し困惑しています。
編集: フォームセットの有無にかかわらずエラーが発生するため、FestivalCreateView のフォームセットの使用を削除しました。
inline-formset - フォーム ウィザードでインライン フォームセットを使用する場合、フォームセットのフォーム検証はどこに行くのですか?
SessionWizard でインライン フォームセットを使用する方法の詳細を学習する例を作成しています。最終的に、送信前にテンプレートを介して個々のフォームを追加および削除するために、動的フォームセットを統合したいと考えています。ただし、2 番目のフォームにデータがない場合、通常の ModelForm とは異なり、検証に失敗します。
オーバーライドする必要がある SessionWizard 内のメソッドはありますか? それは Django 内で本質的に処理されるものですか?
ガイダンスと例をいただければ幸いです。
models.py
urls.py
フォーム.py
wizard-form.html
django - Djangoインライン外部キーが親主キーと一致しません
インライン フォームを使用して Django エラーを回避するための助けが必要です。私はこれを理解できないようです。検証を試みる前にその方法を理解できれば、おそらく eventID を強制的に挿入できます。
フォームを送信すると、次のエラーが表示されます。Hidden field (event): The inline foreign key did not match the parent instance primary key
このコードを機能させる方法はありますか?
次のコードは、教師がイベントに複数の生徒を登録できるようにすることを想定しています。
------ モデル.py ------------
------ forms.py -----------
---------- views.py ----------
django - djangoインラインフォームセットでデータを隠す
djangoアプリのインラインフォームセットを使用して1対多の関係を設定することを調査しています. ついにインラインフォームセットが機能するようになり、すべてのデータが 1 つのフォームに表示されることに気付きました。これは私のユーザーの 1 人にとって素晴らしいことです。ただし、ユーザーが既存のデータを表示することを許可されていない別のユース ケースがあります。ユーザーは新しいデータを追加できますが、既存のレコードを表示することはできません。
これを行うためにインラインフォームセットを使用することは可能ですか? 1 対多の関係ですべてを表示するのではなく、インライン フォームセットで既存のデータをすべて非表示にすることはできますか? もしそうなら、どのように?例はありますか?
django - Django: ドキュメントのインライン フォームセットの例
問題の解決策としてインライン フォームセットを試すためのヒントが与えられました。サンドボックスプロジェクトで実験中です。Django ドキュメントとまったく同じ例を複製しようとしていますが、失敗します。:(
モデル:
意見:
管理画面で と を正常に作成しましAuthor1
たAuthor2
。
Book1
にBook1b
割り当てられAuthor1
Book2
ますAuthor2
。
試してみると、<class 'Sandbox_App.models.Book'> has no ForeignKey to <class 'Sandbox_App.models.Author'>
トレースバック:
なぜこれが機能しないのですか?
どうもありがとう
python - Django: インライン フォームセットでフィールド ウィジェットを変更する方法
私はDjangoが初めてで、ドキュメントにこれが欠けていると思います。
問題は、inline-formset ではフォームを宣言せず、2 つのモデルを渡して構築するだけであることです。
インライン フォームセットを使用して単一フィールドのウィジェットを変更する方法を知りたいですか?
django - django フォーム - 外部キーのフィールドへのアクセス
モデル B への外部キーを持つモデル A からモデルフォームを作成したいと思います。
だから私はこれをしました:
しかし、私はいくつかのフィールドだけが欲しい:
問題はここにあります.bをBオブジェクトのリストにしたくないのですが、フィールドBaとBcが必要です(たとえば)。「fields = ('a', 'ba', 'bc')」と「fields = ('a', 'b_ a', b _c')」を試してみましたが、無駄でした。
だから私はインライン formsetsに来ましたが、インラインのフィールドのセットを制限するものは何も見ませんでした。
私は何をすべきか ?ありがとう。
django - 複数のデータベース用の Django GenericTabularInline
GenericTabularInline クラスを、Django ドキュメント (https://docs.djangoproject.com /en/dev/topics/db/multi-db/) ですが、子モデルがインライン フォームで編集されている場合は、常に既定のデータベースに書き込みます (2 番目の管理者にセカンダリ データベースのみを処理してもらいたいのですが、モデルはどちらも同じです)、そのため、一部のメソッドをオーバーライドしたり、何か間違ったことを行ったりしてはなりません。これが私がこれまでに持っているクラスです:
ヘルプやヒントをいただければ幸いです。