問題タブ [django-multiwidget]
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 multivaluefield & multiwidget - オプションにする
これは私の以前の質問に関連しています。
Choice および TextInput ウィジェットを含む MultiValueField が必要です。ユーザーが Choice から「OTHER」を選択した場合、TextInput の値を保存する必要があります。それ以外の場合は、Choice の値を保存する必要があります。これまでのところ、次のコードがあります。
ただし、TextInput に値が含まれていないものを保存しようとすると、「このフィールドは必須です」という検証エラーが発生します。これは、上記の「required=False」kwarg にもかかわらずです。
clean 関数にいくつかのロジックを追加しようとしました。Choice ウィジェットの値が「OTHER」の場合、TextInput のウィジェットを無視します。
しかし、これは効果がありません。
助言がありますか?
django - マルチ ウィジェットで 2 つの異なるモデル フィールドを使用することは可能ですか?
私はこれを成し遂げるために本当に髪を引っ張ってきました。次のように、モデルの 1 つに 2 つの整数フィールドがあります。
上記の 2 つの値は相互に関連しているため、カスタム ウィジェットを使用する必要がありました。ここがポイントです。これらのフィールドで 1 つのカスタム ウィジェット (MultiWidget) を使用する必要がありますが、値をデータベース内の別の列に保持したい [実際には解析したくなく、さらに検索機能は上記のフィールドは別々に保存したいので、別々に保存したい]。
カスタム ウィジェットは単一のモデル フィールドからの値のみを受け入れるため、上記のモデルの ModelForm で使用するカスタム フォーム フィールドを作成することにしました。
これが私のフォームの外観です。
上記のフォームは、基本的にモデル フィールドを非表示にし、minmax
次のようにカスタム ウィジェットを使用するフィールドのみを表示します。
この時点で、すべてが正常に機能し、値はそれぞれのフィールドに個別に保存されます。しかし、オブジェクトのインスタンスでフォームを編集しようとすると問題が発生しTestModel
ます。編集の場合、フォームがレンダリングされると、実際の値は隠しフィールドmin
とmax
入力フィールドに格納され、最小最大フィールドには値がありません。[もちろんフォームフィールドです。]
私がしなければならないオプションは何ですか
およびフィールド
minmax
からフォーム フィールドの値を事前入力します。[注: Javascript や jQuery を使用しない場合]min
max
または、2 つの異なるモデル フィールドの値を使用する MultiWidget を作成します。
どんな助けでも大歓迎です。ありがとう。
python - MultiValueField のサブクラスで「compress」メソッドが呼び出されないのはなぜですか?
DurationField
Django で、期間を秒数で表す整数を格納するカスタムを実装しました。また、5 つの異なる数値入力 (週、日、時間、分、および秒を表す) を受け取るカスタム マルチウィジェットも定義しました。
私はそれを管理者で機能させることがdecompress
でき、期待どおりに機能しているようです。インタープリターで値を変更して保存すると、5 つのフィールドに正しく表示されます。ただし、compress
呼び出されていないようです。値を変更しようとすると (または値を変更せずにフォームを保存しようとすると)Enter a whole number.
からエラーが発生しIntegerField
ます。[u'0', u'1', u'2', u'0', u'0']
値のリスト全体 (例: ) が に渡されているように見えますto_python
。
何か小さなものを見落としている/見落としているように感じますが、コードを長時間見つめすぎて、それが何であるかを理解できなかったと思います。
これが私のものmodel_fields.py
です:
ここにありadmin.py
ます:
models.py
念のため、ここに を示します。
django - 読み取り専用の追加データを持つ多対多フィールドにマルチウィジェットを使用する
私は次のモデルを持っています:
ご覧のとおり、中間モデルに保存しているデータは読み取り専用です。インスタンスの作成時に、システムによって自動的に生成されます。したがって、管理者のマルチウィジェットを使用して参加者を選択できるようにしたいと思います。(多数のユーザーがいる場合、インラインを使用するのは非常に困難です)。とにかくそれを行うことはありますか?
python - DjangoカスタムMultiWidgetでは、サブウィジェットIDを取得する方法
Djangoでは、カスタムに追加されたサブウィジェットのidMultiWidget
を取得する方法を教えてください。たとえば、レンダリングされたウィジェットに JavaScript コードをアタッチしたい場合はどうすればよいですか?
python - Django マルチウィジェットと検証の問題
このコードを使用して、NumberInput フィールドと同期する HTML5 レンジ スライダーを作成するために multiwidget をサブクラス化しています。
インスタンス化して次のようなフォームで使用する場合:
、ウィジェットは正常に動作します。スライダーまたは数値入力を変更すると、他のフィールドが変更されます。ただし、POST を実行すると、フォームが検証されず、form.errors で次のエラーが発生します (3 つのパラメーターの場合):
[{'value': ['数値を入力してください。']}, {'value': ['数値を入力してください']}, {'value': ['数値を入力してください']}]
ウィジェットだけでもうまく機能し、フォームは正しくバインドされています。しかし、マルチウィジェットではありません。私は何を間違っていますか?追加した
しかし、これはまだ機能しません。
ご協力いただきありがとうございます。