gpt4 book ai didi

python - 使用 Django REST API View 删除/销毁/更新列表

转载 作者:行者123 更新时间:2023-11-28 19:55:39 24 4
gpt4 key购买 nike

我在 views.py 中创建了一个序列化器和类 ExampleUpdateView 来删除或更新我的数据库中的一个项目:

序列化器.py:

from rest_framework import serializers
from example.models import Example
from django.contrib.auth.models import User

class ExampleSerializer(serializers.ModelSerializer):
class Meta:
model = Example

views.py:

class ExampleUpdateView(generics.RetrieveUpdateDestroyAPIView):
queryset = Example.objects.all()
serializer_class = ExampleSerializer

urls.py:

from django.conf.urls import patterns, url,include
from rest_framework.urlpatterns import format_suffix_patterns
from example import views

urlpatterns = patterns('',
url(r'^example/(?P<pk>[0-9]+)/$', views.ExampleUpdateView.as_view()),
)

一切正常,我可以使用 APIView 更新和删除列表中的项目。也许这是一个有点愚蠢的问题,但我很好奇如何使用 url 删除或更新。例如,“...url../example?delete=5”删除主键为 5 的项目或“...url../example?update=5&description="updated"”更新项目。是否可以使用 API View ?

有人可以帮帮我吗?

最佳答案

REST的原理是遵循HTTP。

如果您发出类似“...url../example?delete=5”的内容,您将发出 GET 请求。GET 不用于删除、更新、创建。如果您发送 GET 请求,它将检索,如果您发送 PUT 请求,它将更新。动词不是 URL 的一部分,因此您想要对 URL 参数执行的操作根本不是 REST。

如果可浏览的API不够用,还可以查看其他一些工具。我使用 chrome-extension REST 控制台:

https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn?hl=en

您可以在 bash 中使用 curl 来发送不同的请求。对于 python,有一个非常好的库叫做 requests:

http://docs.python-requests.org/en/latest/

关于python - 使用 Django REST API View 删除/销毁/更新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26039829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com