別のフィールドを参照する必要があるシリアライザで、カスタムフィールドレベルの検証を実行しています。Django REST Framework:実際にvalidate_ <fieldname>との違いは何ですか?
Validation documentationの例を見ると、validate_<fieldname>
かvalidate
のどちらを使用すべきかはっきりしません。両方ともattrs
という辞書があるようですので、validate
の説明では複数のフィールドにアクセスする必要があることを示していますが、validate
から別のフィールドを簡単に参照することもできます。validate_<fieldname>
だから両方のオプションはなぜですか?私の場合、どのオプションを使用するのが正しいですか?
Neil - 'attrs'は、完全な本物のオブジェクトインスタンスに検証され復元される前に、シリアライザが辞書として入力するものです。私の頭の上から離れて、私はそれがあなたがそれにアクセスしている時点ですでに検証されている入力のいくつかと関係しているかもしれないと思います。 –
ありがとう@Tom。 validate_fooに追加のパラメータを渡す方法はありますか?たとえば、オブジェクトのIDですか? – Neil
更新の場合、 'self.object'はインスタンスへの参照を保持します。 –