前提・実現したいこと
DRFを利用し、動画を登録できるWebアプリケーションを作成しています。
動画登録時に、cv2を利用しサムネイルを作成しているのですが、サムネイルのパスをserializer.dataに追加し、Responseしたいです。
どのようにすれば可能でしょうか?
該当のソースコード
Python
1[view.py] 2video_serializer = VideoCreateSerializer(data={'video': request.data['video']}) 3if video_serializer.is_valid(): 4 video_serializer.save() 5 # サムネを作成し、サムネのパス取得 6 thumb_path = make_video_thumb( 7 video_serializer.data['video'], 8 ) 9 video = Video.object.filter(pk=video_serializer.instance.pk) 10 serializers = VideoSerializer(video, many=True) 11 // ここでvideo_serializerにthumb_pathを追加したい 12 return Response(video_serializer.data) 13 14return Response(video_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Python
1[serializers.py] 2class VideoSerializer(serializers.ModelSerializer): 3 thumb_path = serializers.CharField(max_length=100) 4 class Meta: 5 model = Video 6 fields = [ 7 'id', 8 'video', 9 'thumb_path' 10 ] 11 12class VideoCreateSerializer(serializers.ModelSerializer): 13 class Meta: 14 model = Video 15 fields = [ 16 'video', 17 ]
試したこと
Python
1video = Video.object.filter(pk=video_serializer.instance.pk) 2serializers = VideoSerializer(video, thumb_path=thumb_path, many=True) 3 4エラー 5TypeError: __init__() got an unexpected keyword argument 'thumb_path'
あなたの回答
tips
プレビュー