Djangoでjson配列を作成しようとしていますが、エラーが発生しています-
In order to allow non-dict objects to be serialized set the safe parameter to False
そして私のviews.py-
def wall_copy(request):
if True:
posts = user_post.objects.order_by('id')[:20].reverse()
return JsonResponse(posts)
基本的に、user_postは、投稿が上位20個の保存データのオブジェクトであるモデルです。 JSON配列を送信したいのですが、投稿をJSON配列に変換できません。シリアライザーも試しましたが、助けにはなりませんでした。
私は私を助けて立ち往生しています。
前もって感謝します。
これで問題は解決しますか?
from Django.core import serializers
def wall_copy(request):
posts = user_post.objects.all().order_by('id')[:20].reverse()
posts_serialized = serializers.serialize('json', posts)
return JsonResponse(posts_serialized, safe=False)
safe=False
を使用してこれを解決できます:
def wall_copy(request):
posts = user_post.objects.all().order_by('id')[:20].reverse()
return JsonResponse(posts, safe=False)
実際にはunsafeではないことに注意してください-あなたが自分で返さなければならないものをJSONに変換できることを確認する必要があります.
JsonResponse docsを参照してください。
valuesメソッドを使用してみてください: http://Django.readthedocs.org/en/1.7.x/ref/models/querysets。 html#Django.db.models.query.QuerySet.values 。必要なオブジェクトフィールドの辞書のような表現を生成します。