Django DRFで「TypeError: The `fields` option must be a list or tuple or “__all__”. Got str.」

今回はDjango REST frameworkで「TypeError: The fields option must be a list or tuple or “__all__". Got str.」というエラーが起きたときの対処法についてご紹介いたします。



Django DRFで「TypeError: The fields option must be a list or tuple or “__all__". Got str.」

Django REST frameworkを使用しているときに、上記のエラーが起きてしまいました。
エラーを見るに、serializerのMETAのfieldsが原因のようです。

私は、serializerのMETAのfieldsを次のように書いていました。

fieldsが一つしかないserializerですね。

実は、上記のserializerだとエラーが出ます。
fieldsが一つのとき、serializerのMETAのfieldsは一つでもカンマをつけなければなりません。

例として、修正したコードは下記の通りです。

カンマをつけなければタプルとして認識されず、「TypeError: The fields option must be a list or tuple or “__all__". Got str.」というエラーが起きてしまいます。

終わりに

今回はDjango REST frameworkで「TypeError: The fields option must be a list or tuple or “__all__". Got str.」というエラーが起きたときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






DRF

Posted by ちこ