zur Zeit i den Parameter 'id' in der URL übergeben und wir rufen Sie die API von id jedoch würde Ich mag API durch die parameter.here nennen, ist views.py`Django RestFramework die API-Aufruf durch das Feld
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)
das ist das Ergebnis, wenn ich die ID in der `
url passieren, wenn ich die ID in der uRL übergeben jedoch die es nur zeigen, dass bestimmte ID Ergebnis i Ansicht müssen, wenn ich übergeben das andere Feld inste Anzeige der ID es ist das Ergebnis basierend auf that.so meine Frage ist, was ich muss in den Ansichten.surve.py und Urls.py ändern. dies ist urls.py file`
from django.conf.urls import url
from api import views
from rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
url(r'^post/$', views.post_list.as_view()),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail.as_view()),
]
urlpatterns=format_suffix_patterns(urlpatterns)
Das ist mein serializer.py file`
from rest_framework import serializers
from .models import Post
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
#fields=('ProductName','Score')
fields ='__all__'
`
Es hängt davon ab, was Sie anstelle von ID übergeben möchten. Welcher Typ ist es? ist es eine Schnur? oder ein "Uuid"? –
Ich möchte den "PName" übergeben, der String ist. – Nishit
Höchstwahrscheinlich möchten Sie Abfrageparameter, so dass Sie nach anderen Feldern filtern können. –