0

次のシナリオがあります。

FooModel、FooModelSerializer シリアライザー、および DB にレコードを追加したい CreateAPIView ジェネリック ビューを継承する AddFooObject ビューがあります。私の問題は、FooModel のすべてのフィールドが暗黙的であることです (現在の時刻、システム情報などの情報)。メソッド内にそれらを追加してこれを解決しようとしましpre_saveたが、フローはそこに到達しません。リクエストを受信すると、モデルに存在するフィールドが検索され、それらが見つからないため、 と が返されるためHTTP_400_BAD_REQUESTです"foo_field": ["This field is required."]

汎用ビューを使用する可能性はありますか?モデルからすべてのフィールドを除外し、pre_saveメソッドにのみ追加しますか?それとも通常のビューを使用する必要がありますか?

前もって感謝します!

4

1 に答える 1

2

pre_saveで暗黙的に設定する各フィールドをとしてマークする必要がありますread_only。これにより、それらが必要に応じて処理されなくなり、エラーが解消されます。

詳細については、シリアライザー フィールド コアの引数に関するドキュメントを参照してください。

それが役立つことを願っています。

于 2013-10-10T13:12:14.320 に答える