diadia

興味があることをやってみる。自分のメモを残しておきます。

DRF ImageFieldのファイルパスを登録したい

DRFでImageFieldにデータを登録したい

なんとなくだけどModelSerializerを使ってもimageFieldに登録できないような気がしてきた。その辺を調べてみる。

資料:https://www.django-rest-framework.org/api-guide/fields/#file-upload-fields
なんかファイルやイメージに関しては特別な扱いを要する、ということが分かった。DRFで準備したものは使わずdjangoで準備したFILE_UPLOAD_HANDLERSを使ってファイル類はアップロードしろ、と。それ以外よくわからないが。。。

ドキュメントをゴリゴリ読んでいくのが良いのか、先陣を切った方のサンプルコードを参考にするべきか、どうしよう。。。

https://www.techiediaries.com/django-rest-image-file-upload-tutorial/
これのAPIViewのサブクラスにparser_class = (FileUploadParser,)とアトリビュートを定めていた。ドキュメントで"The FileField and ImageField classes are only suitable for use with MultiPartParser or FileUploadParser. Most parsers, such as e.g. JSON don't support file uploads. Django's regular FILE_UPLOAD_HANDLERS are used for handling uploaded files."と書いてあるのでファイル系を使うときはMultiPartParser or FileUploadParserをアトリビュートに定めることが必要なのかもしれない。まだ仮説段階。

資料:https://murabo.hatenablog.com/?_ga=2.75217554.1072598020.1559131999-1895290581.1558032931&page=1521708738