Djangonのモデルから引っ張ってきたQuerySetをそのままJSONで返そうとすると怒られてしまう。
users = CustomUser.objects.filter(prefecture = 'yamagata')
data = {
...
'users' : users,
...
}
return JsonResponse(data)
TypeError: Object of type QuerySet is not JSON serializable
解決
.values()
で値を取り出してlist()
でリストに変換。
users = list(CustomUser.objects.filter(prefecture = 'yamagata').values())
data = {
...
'users' : users,
...
}
return JsonResponse(data)
serializers.serialize
などを使ってJSONに変換しても通るが、template側でJSON.parseしなければならず、こちらの方がシンプルだった。