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をアトリビュートに定めることが必要なのかもしれない。まだ仮説段階。