聞きたいこと
Serializerに定義されていない値を、viewの中であえて追加する方法はありますでしょうか。
例えばシリアライザーを下のように定義したとします。
: class UserRequestSerializer(serializers.ModelSerializer): name = serializers.CharField(max_length=255) class Meta: model = User fields = [ "name", ] :
シリアライザーではnameしかフィールドを定義していないので、シリアライザーを経由してだとnameフィールドしか存在しないUserモデルが、serializer.save()
したタイミングで作成されると思います。
ただ、viewの中で Userモデルに全ユーザー共通のeメールアドレスを(例: sample@example.comのようなアドレス)email
フィールドに設定して、DBに保存したいと思っています。
その場合、どのようにviewにてserializerインスタンスにデータを渡せばいいかわからずなので、どなたか教えていただきたいです。
: class UserView(APIView): def post(self, request: Request) -> Response: serializer = UserSerializer(data=request.data) serializer.is_valid(raise_exception=True) instance = serializer.save() # ここを実行する前に、Userモデルのemailフィールドに値を追加したい :
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。