2016-10-31 15 views
2

私はserializer.is_valid(raise_exception=True)をいつ使うべきですか?カスタム検証を実装していない場合は、raise_exeption=Trueフラグを使用する必要がありますか? APIがValidationErrorsを発行しない場合はどうすればよいですか?そうであれば、なぜデフォルトはですか?私はこれをTrueに設定すべきかどうか疑問に思っています。アドバイスありがとうございます。通常django rest framework。 raise_exception = True

+1

実行フローを破り、Validationを他の場所でキャッチする場合は、raise_exception = Trueを使用する必要があります。そうでなければ、シリアライザ(is_valid)を使うべきです:do_something()else:do_something_else() – domandinho

答えて

2

我々はこの

if not serializer.is_valid(): raise ValidationError(serializer.errors) のようなもの、この例外をキャッチし、リストや辞書の形で提供エラーで400応答を返すrestapiを行うシリアライザを検証します。上記のコードを記述するための きれいな方法は、uはあなたのコードでシリアライザのエラーを処理する必要があるのではなく、単に彼の入力をユーザに通知しない限り、真のRAISE_EXCEPTION =を使用したいと思うでしょう時間の

serializer.is_valid(raise_exception=True)

80%間違っている。

関連する問題