ドキュメントから:
read_only これを True に設定すると、表現をシリアル化するときにフィールドが使用されますが、逆シリアル化中にインスタンスを更新するときには使用されません。
デフォルトは False
必須 通常、逆シリアル化中にフィールドが提供されない場合、エラーが発生します。逆シリアル化中にこのフィールドが存在する必要がない場合は、false に設定します。
デフォルトは真です。
したがって、null 不可のフィールドを持つモデルがありますが、pre_save メソッドで入力したいので、シリアライザーでフィールドを設定しましたrequired=False
が、機能していないようです。レコードを保存するときにまだエラーが発生します。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
更新: serializer_class = serializers.FavoriteListSerializer
get の代わりに ViewSet に追加しましたThis field is required
。これは検証を通過したと思いますがThis field cannot be null.
、 pre_save メソッドが実行されていないことを確認しました。何かアイデアはありますか?