0
でAPIを呼び出して、現在私は、URLにパラメータ「ID」を渡すと私はidでAPIを呼び出すジャンゴRestFrameworkはフィールド
views.py`です
class post_list(APIView):
def get(self,request,format=None):
post_resource=PostResource()
dataset=Dataset()
post = Post.objects.all()
serializer = PostSerializer(post, many=True)
a=[]
for row in post:
a.append(row)
return Response(serializer.data)
def post(self,request,format =None):
serializer = PostSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=201)
return Response(serializer.errors, status=400)
class post_detail(APIView):
def get_object(self, pk):
try:
return Post.objects.get(pk=pk)
except Post.DoesNotExist:
raise Http404
def get(self, request, pk, format=None):
post = self.get_object(pk)
serializer = PostSerializer(post)
return Response(serializer.data)
def put(self, request, pk, format=None):
snippet = self.get_object(pk)
serializer = PostSerializer(snippet, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk, format=None):
post = self.get_object(pk)
post.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
をIDを渡すときに私はそれだけで、その特定のid結果を示すのURLにIDを渡すとき、これは私が合格した場合しかし、私はビューを必要とする結果であり、他のフィールドinste idの広告はthat.soに基づいて結果を表示しています。私の質問はviews.pyとUrls.pyで変更する必要があります。これは、これはあなたがあなたを変更する必要があり
from rest_framework import serializers
from .models import Post
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
#fields=('ProductName','Score')
fields ='__all__'
`
'id'の代わりに何を渡したいかによって決まります。どのようなタイプですか?それは文字列ですか?または 'uuid'? –
文字列である "PName"を渡したいと思います。 – Nishit
ほとんどの場合、クエリパラメータが必要なので、他のフィールドでフィルタリングできます。 –