'Django Rest Framework | Put method not working
I am creating a rest api using DRF the get and post method work perfectly but the put method doesnt update the request
this is my views.py
from django.shortcuts import render
from rest_framework import viewsets
# Create your views here.
from rest_framework.generics import get_object_or_404
from rest_framework.response import Response
from BarakaSalesSystemApp.models import Farmer
from BarakaSalesSystemApp.serializers import FarmerSerializer
def list(self, request):
farmer = Farmer.objects.all()
serializer = FarmerSerializer(farmer, many=True, context={"request": request})
response_dict = {"error": False, "message": "All Farmers List Data", "data": serializer.data}
return Response(response_dict)
def create(self, request):
try:
serializer = FarmerSerializer(data=request.data, context={"request": request})
serializer.is_valid(raise_exception=True)
serializer.save()
dict_response = {"error": False, "message": "Farmers Data Saved Successfully"}
except:
dict_response = {"error": True, "message": "Error During Saving Farmers Data"}
return Response(dict_response)
def update(self, request, pk=None):
try:
queryset = Farmer.objects.all()
farmer = get_object_or_404(queryset, pk=pk)
serializer = FarmerSerializer(farmer, data=request.data, context={"request": request})
serializer.is_valid(raise_exception=True)
serializer.save()
dict_response = {"error": False, "message": "Successfully Updated Farmer Data"}
except:
dict_response = {"error": True, "message": "Error During Updating Farmer Data"}
return Response(dict_response)
farmer_list = FarmerViewSet.as_view({"get": "list"})
farmer_create = FarmerViewSet.as_view({"post": "create"})
farmer_update = FarmerViewSet.as_view({"put": "update"})
and this is my serializer.py
from rest_framework import serializers
from BarakaSalesSystemApp.models import Farmer, Customer, Order, Bill, Employee, Delivery
class FarmerSerializer(serializers.ModelSerializer):
class Meta:
model = Farmer
fields = ["name", "address", "contact", "in_stock"]
When requesting for the put request on postman it gives the error message and not updating
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
