Django REST Framework メモ :: Serializer設定からくるエラー症状ごとの原因(と思われるもの)例:インスタンスあるのにnull が返る など
- アーティスト: O.S.T.
- 出版社/メーカー: Universal
- 発売日: 2017/04/07
- メディア: CD
- この商品を含むブログを見る
はじめに
Django REST Framework で出力したときにエラーじゃないけど、うまくSerializerが通ってないっぽいことがあったのでメモ
- Django2
- Python3.5.2
症状:null が返る
解決案:Serializer経由のモデルのネストを1回だけ(計2層)にする。
モデルを2個以上ネストさせる(つまり層としては3層以上)と、ネスト1個めのインスタンスの返り値がnullになった。(追記:3層でも行けることのほうが多いらしいこのときは何故だったんだろう・・・)many=Trueを忘れてたらつける
○○serializer(インスタンス,many=True)のmany=Trueが抜けると、返るインスタンスが複数ある場合(例:ある記事へのコメントインスタンスが複数ある場合など)はこれもnullが返ってしまう。.dataを忘れてたらつける
○○serializer(インスタンス,many=True).data の".data"を忘れるとエラーになる どんなエラーだったか忘れた。
症状:[] が返る
これは正常な可能性があります。ようするに関連づけられたインスタンが1個もないよという場合。この場合はmodels.pyのインスタンスの状況をadminで調べると◯