問題タブ [django-forms]
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 - Djangoで注文を作成する
みなさん、こんにちは。django管理者についていくつか質問があります。
まず、関連する詳細。現在、クライアント、プリンター、カートリッジ、および注文のモデルがあります。
プリンタモデルには、カートリッジモデルに対するManyToManyFieldがあります。これにより、そのプリンタで使用できるすべてのカートリッジを選択できます。
Clienteには、所有するプリンターへのManyToManyFieldがあります。
1)Django管理者を介して注文を作成します。これにより、ManyToManyFieldを介してクライアント、割引、および複数のカートリッジを指定できます。これは、新しいカートリッジか詰め替えかを指定する別のテーブルを介して実行する必要があるため、少し注意が必要です。
2)管理者がカートリッジをフィルタリングして、所有しているプリンターに属するカートリッジのみを表示するようにします。
3)また、注文の合計金額を保持するフィールドが欲しいのですが、注文に追加したカートリッジの数に基づいて計算する必要があります。同じカートリッジを注文に追加するか、関連するテーブルに数量を指定する別のフィールドを追加することによって、これを行う必要があるかどうかはわかりません。
これは管理者で行うことができますか、それともフォームを使用する必要がありますか?もしそうなら、これを管理者に追加するにはどうすればよいですか?カートリッジのリストをフィルタリングするには、事前にクライアントを知っている必要があるため、難しいように思われ、おそらく複数の部分で行う必要があります。
django - Prepopulate Django (non-Model) Form
I'm trying to prepopulate the data in my django form based on some information, but NOT using ModelForm, so I can't just set the instance.
This seems like it should be really easy, but for some reason I can't find any documentation telling me how to do this. This is my form:
I tried just doing:
which does not work.
django - ログインしているユーザーの名前を保存する方法は?
現在 Django にログインしているユーザーの名前をカスタム フォームに保存したいと考えています。admin では modified_by=request.user.username と書くことでこれを行うことができますが、自分のフォームでこれを行うにはどうすればよいでしょうか?
django - 管理汎用インラインフォーム内に新しい汎用関連オブジェクトを作成する際の問題
管理者の一般的なインライン フォームに奇妙な問題があります。異なる数のビデオをプロジェクトにリンクし、多くのプロジェクトをビデオにリンクできるようにする必要があるため、VideoLinkを介したManyToMany 関係を持つメイン プロジェクトとビデオの 2 つのモデルがあります。
ここでは Video モデルを示しませんでしたが、私の質問にとっては重要ではありません。
必要なのは、メイン オブジェクト (プロジェクト) にリンクされた新しい関連オブジェクト (VideoLink) を 2 つの方法で定義することだけです。
- 管理インラインフォーム内のビデオを選択します (これは非常にうまく機能します!)
- 偽の video_url フィールドで新しいビデオの URL を定義し、新しい Video オブジェクトを作成し、メイン (プロジェクト) オブジェクトと新しい (ビデオ) オブジェクトの間に新しい VideoLink オブジェクトを作成します。
2 番目のケースでは、中間機能を設定する必要があります。新しいビデオの URL ( http://www.youtube.com/watch?v=WIXVzeB0DUoなど) を処理し、新しい Video オブジェクトを作成して youtube.com と同期します。私は最善の方法だと思います - これを AdminVideoLink のフォームのclean メソッドに入れます。よろしいですか?
だから、私はこのコードを書きました:
しかし、フォームを保存した後は毎回、管理インライン フォーム内にエラーが表示されます: ビデオ オブジェクトの近くで選択 - 「フィールドが必要です」(私の翻訳)。しかし、このフィールドを clean メソッド内に設定しました。私はそれをチェックします: self.cleaned_data['video'] には、作成して同期したばかりの新しい Video オブジェクトが含まれています。
もう 1 つの非常に奇妙な問題: このclean メソッド内で親インスタンス (メインの Project オブジェクト) が見つかりません。単純な ManyToMany オブジェクト (ジェネリック リレーションと generic.GenericTabularInline フォームなし) で同じことを行うと、インライン フォーム内にビデオ フィールドとプロジェクト フィールドの両方が表示されますが、一般的なケースでは表示されません。
関連する投稿を確認しましたが、答えが見つかりませんでした。
django - 外部リンク付きテキスト入力フォームウィジェット募集中!
モデル Movie のフィールド imdb_id をデータベースに保持します。
そして、フィールド 'imdb_id' のテキスト入力の近くの管理フォームに imdb.com への外部リンクを表示するための特別なウィジェットを作成したいと考えています。特別なマスク (私の場合、このマスクは ' http://www.imdb.com/title/tt%s/ ') を使用して生成された、外部リンクを持つ任意のフォーム フィールドのグローバル ウィジェットである可能性があると思います。ウィジェットの書き方は知っていますが、ムービー モデルで定義されたマスクをこのウィジェットにプッシュする方法がわかりません。DRY 原則に違反して、このマスクを 2 つの異なる場所で定義したくありません。また、将来的には他の外部リンクと同じ目的のための優れたツールになるでしょう。
このウィジェットについてどう思いますか? それを実現することはどのように可能ですか?誰かが私より前に書いたのだろうか?
ありがとう!
django - Djangoモデルは保存/シグナルを使用/モデルフォームを使用しますか?
これは以前に尋ねられたことに気づきましたが、私がやろうとしていることを実際に扱った質問を見つけることができませんでした. かなり単純だと思いますが、ここで一般の人々が考える最良の形を知りたいです.
以下があるとしましょう。
models.py
保存関数のコメントは、私の質問をほぼ要約しています。これをユーザーにどのように報告しますか? - testfield オブジェクトをどこで検証して、[az] のみが含まれていることを確認しますか? reをインポートして、ここでもそれを行うことはできますか? 私はすべきですか?
ここに全部入れたほうがいいの?pre_save シグナルを送信する必要がありますか? または、検証付きの ModelForm を使用する必要がありますか?
django - フォームclean()メソッドでPOST変数を取得する
POST変数にアクセスして、管理フォームフィールドのcleanメソッドでカスタム検証ルックアップを完了する簡単な方法はありますか?
取得する必要があるのは、「supplier」post変数です。これは、supplierフィールドが親フォームの一部であるため、このフォームのクリーンアップされたデータには含まれていません。それをつかむことができる唯一の方法は、request.POSTにアクセスすることですが、そこではあまり成功していません。
ありがとうございました
django - モデルフォームを保存するときに、存在しないフィールド値を置き換える
私はこのモデルを持っています:
そして、このモデルに基づくフォーム:
このフォームをテンプレートで使用すると、「会社」フィールドが追加されません。これは予想どおりです。ただし、そのフィールドは空白として必須です!=True。
このフォームの使用方法では、会社の属性はURLから渡されるため、ビュー関数で常に認識されます。保存する前に、ビュー機能のフォームに会社を追加するにはどうすればよいですか?
これが私の見解です:
django - Django ModelForm のヘルプが必要: ForeignKey/ManyToManyField をフィルター処理する方法は?
わかりました、これを説明するのに苦労しています。詳細を記入する必要があるかどうか教えてください。
私の URL は次のようになります: http://domain.com/<category
>/
各<category
> には 1 つまたは複数のサブカテゴリがあります。
カテゴリ ページに、カテゴリのサブカテゴリを含む選択ボックス (他のフィールドの中でも) を備えたフォームが必要です。現在、テンプレートの 1 つでフォームをハードコーディングしていますが、モデルを直接反映させたいと考えています。
現在ハードコードされているソリューションでは、カテゴリ ビューに次のように表示されます。
フォーム テンプレートが繰り返し実行され、選択ボックスが出力されます (以下のモデル コードを参照)。
カテゴリを除外するinitを備えたModelFormSetが必要だと思いますが、ドキュメントでそれを行う方法が見つからないようです。
Django ModelFormでForeignKeyの選択をフィルタリングするにはどうすればよいですか? 同様に、しかし、私はそれを適切に動作させることができません。
私のモデル
私のフォーム
django - def clean メソッド内の Decimal Calcs のエラー?
検証に続いて、def clean メソッドでいくつかの簡単な計算を試みています (基本的には、取得した英国の製品価格のユーロ換算をその場で吐き出します)。TypeError が発生し続けます。
完全なエラーの読み取り:
{'product': , 'invoice': , 'order_discount': Decimal("0.00"), 'order_price': {...}, 'order_adjust': None, 'order_value': None, 'DELETE': を変換できませんFalse、'id': 92、'quantity': 8} から 10 進数
したがって、djangoはcleaned_dataフォーム全体をDecimalメソッドに渡していると思います。どこが間違っているのかわからない-私が取り組んでいるコードは次のとおりです。
請求書がタイプ 2 (ユーロ請求書) の場合、システムは最新の為替レートを取得し、それを一致する英国ポンド価格に適用して、ユーロの結果を取得する必要があります。
def clean メソッド内で 10 進変換を実行することは問題になるはずですか?
ありがとう