質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

0回答

337閲覧

Serializer.dataに値を追加したい

te_ff

総合スコア13

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

0クリップ

投稿2021/03/26 10:12

編集2021/03/26 10:15

前提・実現したいこと

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'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問