問題タブ [modelform]

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 投票する
1 に答える
142 参照

python - Django ModelFormを作成して、フィールドが必要な場合と不要な場合があるようにするにはどうすればよいですか?

わかりました、ここに質問があります。2つのフィールドしかないModelFormがあるとします。このように:

したがって、ユーザーは色名を入力するか、リストから選択することができます。色は必須ですが、それはユーザーが手動で色を入力する必要があるという意味ではありません。ユーザーがドロップダウンリストで色を選択したかどうかをコードがチェックし、選択していない場合は手動で書き込む必要があるように、検証を配置しますか?

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

django - ModelFormsに相当するget_model?

それぞれが異なるモデルを表す複数の ModelForm クラスがあります。URL パラメータに基づいて指定されたモデル フォームをロードする汎用の「作成」関数が必要です。これでモデルを動的にロードすることが可能です:

ModelFormsで同じことを達成する方法を知っている人はいますか?

一般的なビューでこれを行う方法は考えられません。名前だけでなく、ModelForm を渡す必要があります。get_model でモデルを取得し、それをジェネリック ビューに渡すと、フォームが表示されますが、モデル フィールドを除外できません。

ヒントについてはTIA

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

python - 実行時にDjango ModelFormの可視フィールドを設定しますか?

私はDjangoモデルを持っています:

そこから、ModelForm を作成しました。

ユーザーが変更できる特定の情報に対応するフォームの一部をテンプレートに表示できるようにしたいと考えています。たとえば、顧客が自分の名前を変更できるようにしたい場合、「first_name」フィールドと「last_name」フィールドのみを含むフォームを表示できるようにしたいと考えています。

これを行う 1 つの方法は、さまざまなフィールド スニペットごとに ModelForm を作成することです。名前の例では、次のようになります。

これはかなり洗練されておらず、柔軟性がないように思えます。私がやりたいのは、実行時にフィールドを指定できるようにすることです。そのため、辞書をビューからテンプレートに渡すときに、表示するフィールドを設定するだけです。実行時にフォームのフィールドを設定するように設定するにはどうすればよいですか? 理想的には、渡される最終的な辞書が次のようになることを望みます。

次に、name_change_form.as_p を出力するたびに、探しているフォーム フィールドが正確に含まれていることがわかります。

考え?また、それを行うためのより良い方法をお勧めします。

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

python - フォームのサブクラスでModelFormの宣言されたフィールドを除外するにはどうすればよいですか?

ModelFormDjangoでは、いくつかのフィールドを削除したい(または、より正確にはいくつかのフィールドのみを使用したい)フォームから新しいフォームを派生(サブクラス化)しようとしています。もちろん、明らかな方法は次のようにすることです(基本形式はからですdjango.contrib.auth.forms):

usernameただし、結果のフォームにフィールドも追加/保持するため、これは機能しません。このフィールドはで明示的に宣言されましたUserChangeForm。属性に追加usernameexcludeても役に立ちません。

それを除外する適切な方法はありますか?何かが足りませんか?これはバグですか?いくつかの回避策はありますか?

0 投票する
4 に答える
11312 参照

django - RadioSelect フォームのデフォルトが空の Python/Django BooleanField モデル

モデルに BooleanField が含まれ、その BooleanField に関連付けられたフォーム ウィジェットが RadioSelect ウィジェットである Django ModelForm を使用しています。レンダリングする RadioSelect ウィジェットでオプションが選択されないようにしたいので、ユーザーは明示的に選択する必要がありますが、選択しない場合はフォームの検証が失敗します。これを行う方法はありますか?

models.py

フォーム.py

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

django - Django "複製" ModelForm

Djangoで「複製」ModelFormを作成する簡単な方法があるかどうか疑問に思っています-つまり、既存のモデルインスタンスのコンテンツが事前に入力されているフォーム(一意のフィールドなどの特定のフィールドを除く)ですが、保存時の新しいインスタンス。

「編集」フォームのようにデータが事前に入力されるように ModelForm にインスタンスを提供し、保存する前にインスタンスを None に設定するという方針に沿って考えていましたが、これにより「'NoneType' オブジェクトには属性 'pk がありません。 '" フォームで .save() を呼び出すとエラーが発生します。フォームを構築するときにインスタンスを提供する行為は、最後にそこにあるという依存関係を作成するようです。

この問題の解決策を見つけるのに苦労しましたが、「重複した」フォームがあまりにもユニークであるとは想像できないので、単純なものが欠けているのではないでしょうか?

どんな助けでも大歓迎です。

0 投票する
3 に答える
4729 参照

django - request.user を外部キーとして追加するために ModelForm でリクエストにアクセスする方法

モデルフォームの保存をオーバーライドして、現在のユーザーを車両の所有者として追加しようとしています。しかし、'NoneType' オブジェクトに属性 'user' がありません。何を忘れていますか?

フォーム.py:

私のモデル:

私は一般的なビューを使用しています:

0 投票する
4 に答える
2299 参照

django - Django:以前に保存した値を引き継ぐためのadminのMultipleChoiceField

管理者のModelFormで以前に選択したアイテムを引き継ぐのに問題があります。このユースケースで最も簡単なUIであるため、 forms.CheckboxSelectMultipleウィジェットを使用したいと思います。保存時に値が保存される限り機能します。ただし、以前に保存されたアイテムを編集する場合、このフィールドに以前に保存された値はウィジェットに反映されません。

UIの例:

代替テキスト

投稿後(そのアイテムを編集し、空白で返します):

代替テキスト

ただし、ウィジェットを使用せず、アイテムを編集するときに通常のCharFieldを使用すると、次のようになります。

代替テキスト

それで、何らかの理由で、値はチェックボックスウィジェットによって表されませんか?

これが私の簡略化されたセットアップ、models.pyです

forms.py:

admin.py

したがって、「blog」などを選択して以前に保存したアイテムを編集すると、initでデバッグすると、self.fields ['entriesFrom']([u'blog'、])に正しい値が返されますが、チェックボックスには反映されません(何もありません)。管理者で選択済みとして表示されます)。

編集

ModuleFormクラスを更新して初期値を渡しますが、初期値( "[u'blog']")にいくつかの値がある間は、何も事前入力されません。

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

django - 逆リダイレクトで新しく作成されたオブジェクトを使用するDjango

ユーザーを新しいプロジェクトを含むページにリダイレクトできるように、新しく作成されたプロジェクト オブジェクトから ID を取得しようとしています。現在、「'ProjectAddForm' オブジェクトには属性 'id' がありません」というメッセージが表示されます。

これが機能するはずだとオンラインで読みましたが、何らかの理由で機能しません。

Forms.py

0 投票する
4 に答える
6590 参照

django - DjangoModelFormはエラーなしで検証に失敗します

わかりました、私は何が起こっているのかを理解しようとして何時間もこれを見つめていましたが、無駄になりました。'instance'キーワードを使用してModelFormを作成し、既存のモデルインスタンスを渡して、保存しようとしています。これがModelFormです(この問題の原因を特定するための私の試みでは、元のフォームからかなり削除されています):

これが私が実行しているコードです:

モデルオブジェクト(m上記)は有効であり、問​​題なく保存されますが、フォームは検証されません。さて、私が知る限り、このコードはここにあるDjangoドキュメントの例と同じです:http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method、明らかに何かが足りません。私が間違っていることを教えてくれる新鮮な目で大いに感謝します。

ありがとう