Return one field after creation via post-request in django rest framework

Viewed 70

This is my class-based view:

class PurchaseAPICreate(generics.CreateAPIView):
    serializer_class = PurchaseSerializer

and serializer:

class PurchaseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Purchase
        fields = "__all__"

Get-request return me all fields, but I need only id. I tried fields = ('id',). But post request needs all fields for serialization. I did this, but think it shouldn't work in this way.

class PurchaseAPICreate(generics.CreateAPIView):
    serializer_class = PurchaseSerializer
    queryset = Shop.objects.all()
    def create(self, request, *args, **kwargs):
        queryset = self.get_queryset()
        serializer = PurchaseSerializer(queryset, many=True)
        return Response({
            'id': serializer.data[len(serializer.data)-1]['id']
        })

How I can get only id in right way?

0 Answers
Related