[英]PUT request doesn't update - Django Rest Framework
I'm trying to build a todos app using django-rest-framework and when I send PUT request to change the content of the task, the content is still the same.我正在尝试使用 django-rest-framework 构建一个 todos 应用程序,当我发送 PUT 请求以更改任务内容时,内容仍然相同。 It seems that the serializer.save() is not working as I expected.似乎 serializer.save() 没有像我预期的那样工作。 Here are the code:这是代码:
views.py视图.py
from rest_framework.response import Response
from rest_framework.decorators import api_view
from .models import Note
from .serializers import NoteSerializer
@api_view(['PUT'])
def updateNote(request, pk):
note = Note.objects.get(id=pk)
serializer = NoteSerializer(instance=note, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
models.py模型.py
from django.db import models
class Note(models.Model):
body = models.TextField(null=True, blank=True)
updated = models.DateTimeField(auto_now=True)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.body[0:50]
serializers.py序列化程序.py
from rest_framework.serializers import ModelSerializer
from .models import Note
class NoteSerializer(ModelSerializer):
class Meta:
model = Note
fields = '__all__'
I'm learning django so this is kinda new to me.我正在学习 django,所以这对我来说有点陌生。 I had searched for this problem but I'm kinda new to django so I don't understand these answers much.我已经搜索过这个问题,但我对 django 有点陌生,所以我不太了解这些答案。 Any help would be appreciated.任何帮助,将不胜感激。
@api_view(['PUT'])
def updateNote(request, self, pk):
note = get_object_or_404(Note.objects.all(), pk=pk)
serializer = NoteSerializer(instance=note, data=request.data, partial=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.