序列化列表 os 问题并作为 JSON 返回



>我正在尝试序列化对象列表,但我得到一个错误,

如何序列化此对象列表?谢谢

       ids = request.data.__getitem__("ids")
       questions_array = []
       for id in ids:
           questions = Question.objects.filter(pk=id)
           questions_array.append(questions)
       serializer = QuestionSerializer(questions_array, many=True)
       return Response(serializer.data)

我总是收到此错误:类型错误:init(( 得到一个意外的关键字参数 'fields'

直接

序列化QuerySet怎么样:

    questions  = Question.objects.filter(pk__in=[1, 4, 7])
    data = list(questions.values('id',
                              'first_field',
                              'second_field',
                              '....'
                              ))
    return JsonResponse({"data": data,}, safe=False)

您在列表中传递了查询集,这是非常错误的。您可以执行以下操作:


for id in ids:
    questions = Question.objects.filter(pk=id).first() #so here you will 
# get an obejct instead of queryset
    questions_array.append(questions)
serializer = QuestionSerializer(questions_array, many=True)
return Response(serializer.data)

最新更新