問題タブ [django-validation]

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 に答える
2829 参照

django - 2 つのモデルに 1 つのフォーム

更新問題は解決されました。表示されるすべてのコードが機能します。

こんにちは!

TextPage と Paragraph の間に ForeignKey 関係があり、私の目標は、フロントエンドの TextPage を作成/編集するフォームを ModelAdmin に「インライン」であるかのように作成することです: TextPage のいくつかのフィールドと、インラインに積み重ねられたいくつかの Paragraph インスタンス。問題は、それを検証して保存する方法がわからないことです:

動作することさえ期待していないコードを投稿するのは一種のコードモンキー スタイルであることはわかっていますが、私が達成しようとしていることを示したかったのです。models.py の関連部分は次のとおりです。

どんな助けでも大歓迎です。ありがとう!

更新します。インスタンス参照が追加されましたが、まだ機能しません - この文字列で ValidationError が発生します:

何か案は?

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

django - オプションのForeignKeyフィールドを使用したDjangoフォームセットの検証

オプションのForeignKeyを使用してモデルを構築および使用している場合、そのフォームで検証するために空の(null)関連付けを作成するにはどうすればよいですかModelFormSetmodelformset_factory

サンプルコードは次のとおりです。

私のテンプレートでは、コンボフィールドをレンダリングする{{form.cliente}}メソッドを呼び出していますが、空の(「------」というラベルの付いた)値を選択できるようにしたいと思います。 FKはオプションです...ただし、フォームが送信されると、検証されません。

これは正常な動作ですか?このフィールドを作成して、必要な検証をスキップするにはどうすればよいですか?

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

django - ModelForm の Django TextField max_length 検証

Django は、ModelForm の検証中に TextField モデル フィールドの max_length 属性を尊重しません。

そこで、models.TextField から継承した LimitedTextField を定義し、models.CharField と同様の検証ビットを追加しました。

ただし、これは ModelForm の検証には影響しません。

私は何が欠けていますか?

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

django - ビューのdjangoフォームにエラーを追加しています...ハックしますか?

私がやろうとしているのは、との両方の後に、ビュー内のフィールドにエラーを追加することです。これは機能しform.is_valid()form.save()いるように見えますが、ハックが原因であるためです。ここの誰かが、なぜ機能するのかを説明してくれることを願っています。

そのため、フォームのsave()機能では、LDAPサーバーに接続し、フォームで指定されたユーザーとパスワードを認証しようとします。すべてが機能する場合、最終的に発生するのはUserオブジェクトであり、Profileオブジェクトが作成されます。ただし、LDAPに接続してデータを取得するためのコードでは、クレデンシャルが間違っている、または単にサーバーにバインドできないなどのエラーが発生する可能性があります。そのような場合、私は戻っNoneて、フォームにエラーを追加することによってビューがそれを処理します。ビュー内の関連するコードは次のとおりです。

さて、そのprintステートメントがコメントアウトされているので'NoneType' object does not support item assignment、フォームにエラーを追加しようとすると、が表示されます。printステートメントのコメントを外すと、期待どおりに機能します。理由について何かアイデアはありますか?そしてとにかく、私はそこにその印刷ステートメントがなくてもこれを行うことができますか?ありがとう!

PS:LDAPサーバーにバインドしてユーザーを2回認証する必要がないため、cleanメソッドでフォームの検証を行いたくありませんでした。1回だけ実行したいのですが、機能するか機能しないかのどちらかです。 't。

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

django - Django とテスト用のローカル URL が存在する

Django 環境の一部となる URL を保存する必要があるモデルがあります。通常の URL を保存する場合はmodels.URLField、 と を使用verify_existsして、URL が実際に存在することを確認します。

ただし、開発サーバーはシングルスレッドであるため、これは開発ではうまく機能しません。一度に 2 つの要求を処理できないため、無期限にハングします。

を使用して何かをしたいと思っていましたが、そのドキュメントページの最後にある関数をリクエストを受け取らないバージョンにresolve()適応させるのに苦労しています。これは、特定のローカル URL が解決され、myview空のセッションから 404 が発生しています。

次のようなバリデーターでこれを行うことを望んでいました。

ただし、有効なrequestオブジェクトが に渡されないと、これは失敗しkwargsます。ダミー (空白) のリクエスト オブジェクトを生成するにはどうすればよいですか? 使ってみただけdjango.http.HttpRequestです。

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

django - Django Admin用の洗練されたDjangoモデル検証を作成するにはどうすればよいですか?

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

私はその記録のために行政を「ばかげた」ものにしたい。ちなみに、私は3つのルールを作成したいと思います。

  1. ファイター1はファイター2と同じではありません(これはモンティパイソンスキットにのみ適しています)。

  2. 勝者は試合に参加する必要があります(つまり、ファイター1またはファイター2のいずれか)

  3. 試合が行われる前に勝者を設定することはできません。(結局のところ、これはWWEではありません。)

これらの3つのルールはすべて、同じレコード内の1つのフィールドを別のフィールドと照合する必要があります。ネイティブのdjangoメソッドを使用するか、Pythonに頼って、djangoでこれを行うことは可能ですか?

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

django - Django(django-admin)で値の遷移を確認する方法は?(再考)

モデルデータの遷移を制御する方法について考えていました。Django(django-admin)で値の遷移を確認する方法で解決策を見つけましたか?しかし、コード内に実装しようとすると、問題が発生しました(ステータスを免責で変更できます)。

これが私のコードの関連部分です:

clean()メソッドは機能します。また、clean_status()メソッドで「Published」と「Draft」を使用してみましたが、機能しませんでした。

clean_statusを適切な場所に配置していますか?私は何かを見落としていますか?

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

django - Djangoの非モデルフォームのFileFieldを検証/クリーンアップしますか?

私は最終的に、拡張子の種類ごとにFileFieldを検証しようとしています。しかし、このフィールドのクリーンなメソッドでPOST値を取得することさえできません。

コードを実行すると、次の出力が表示されます。

つまり、clean_fileメソッドはファイルデータを取得できません。同様に、Noneを返した場合でも、フォームは有効です。

これが私のフォームhtmlです:

この問題の解決策が記載されたスニペットをいくつか見ましたが、モデル以外のフォームで機能させることはできません。どちらもカス​​タムフィールドタイプを宣言します。そうすると、同じ問題が発生します。super()を呼び出すと、Noneオブジェクトが返されます。

0 投票する
7 に答える
34976 参照

python - djangoのmodel.save()がfull_clean()を呼び出さないのはなぜですか?

モデルフォームの一部として保存されていない限り、djangoのormがモデルで「full_clean」を呼び出さない正当な理由があるかどうかを誰かが知っているかどうかだけ知りたいです。

モデルのsave()メソッドを呼び出すときに、full_clean()が自動的に呼び出されないことに注意してください。手動で作成した独自のモデルに対してワンステップのモデル検証を実行する場合は、手動で呼び出す必要があります。 djangoの完全にクリーンなドキュメント

(注:引用はDjango 1.6用に更新されました...以前のdjangoドキュメントにはModelFormsについても警告がありました。)

人々がこの行動を望まない理由はありますか?モデルに検証を追加するのに時間がかかった場合は、モデルが保存されるたびに検証を実行する必要があると思います。

私はすべてを正しく機能させる方法を知っています、私はただ説明を探しています。

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

django - Django 管理者で、下書きでない場合にのみ検証するようにブログ投稿を設定するにはどうすればよいですか?

私は Django のブログに取り組んでおり、Django 管理者に組み込まれている検証を使用したいと考えています。ただし、ブログの投稿ステータスが「下書き」に設定されている場合、検証を無効にする方法が欲しいです。

基本的に、次のようなコードを探しています。