废话不多说,直接上代码:
class BookFilterView(APIView):
def put(self,request,nid):
book_obj = Book.objects.get(id=nid)
validated_data = BookSerialize(data=request.data,instance=book_obj)
if validated_data.is_valid():
validated_data.save()
return Response(validated_data.data)
else:
return Response(validated_data.errors)
在序列化类中,一定要手写update方法:
def update(self, instance, validated_data):
print(validated_data)
title = validated_data['title']
price = validated_data['price']
publish_name = validated_data['publish']
publish = Publish.objects.create(company=publish_name)
instance.title = title
instance.price = price
instance.publish = publish
instance.save()
return instance
修改成功,我这里是吧每个请求方式都分开来写了