0

I have a custom apiview to query item in cart. I got a instance but when i return response it display error like this:

Object of type Order is not JSON serializable

my views.py:

class getCart(APIView):

    def get(self, request, format=None):

        try:
            order = Order.objects.get(user=request.user, confirm=False)
        except Order.DoesNotExist:
            order = Order(user=request.user, confirm=false)
            order.save()

        return Response(order)
0

1 Answer 1

2

So, you have to convert your model instance into json, in DRF it is done through Serializer

As it is specific to model so I am using ModelSerializer

from rest_framework.serializers import ModelSerializer

class OrderSerializer(ModelSerializer):
    class Meta:
        model = Order
        fields = "__all__"

def get(self, request, format=None):

    try:
        order = Order.objects.get(user=request.user, confirm=False)
    except Order.DoesNotExist:
        order = Order(user=request.user, confirm=false)
        order.save()

    return Response(OrderSerializer(order).data)

You can refer from here:- https://www.django-rest-framework.org/api-guide/serializers/#modelserializer

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.