首页 > 解决方案 > Django Rest Framework 查询数据不是 json 可序列化错误

问题描述

这是我的看法:

class BillDetailView(APIView):
    serializer_class = BillSerializer

    def get(self, request, format=None):
        bill = Bill.objects.get(flat__id='a flat id')
        return Response(bill)

我知道要获取详细的数据,我们可以使用RetriveAPIView,但出于我的业务逻辑的某些原因,我不会使用它。

这就是我使用的原因APIView

我正在尝试响应您所看到的查询数据,但它会触发以下错误:

Object of type 'Bill' is not JSON serializable

谁能帮助我如何响应查询数据?

如果我在方法中传递字典Response,它会很好用,但你这对我来说是不好的做法。

我只是在 Response 方法中传递查询的数据。在这种情况下有人可以帮助我吗?

标签: djangodjango-rest-framework

解决方案


使用序列化bill对象BillSerializer


#views.py
class BillDetailView(APIView):
    serializer_class = BillSerializer

    def get(self, request, format=None):
        bill = Bill.objects.get(flat__id='a flat id')
        return Response(self.serializer_class(bill).data)

推荐阅读