def post(self, request, format=None): serializer = SnippetSerializer(data=request.data) if serializer.is_valid(): serializer.save(owner=self.request.user) #保存是,设置owner为当前用户 return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
import io from snippets.models import Snippet from snippets.serializers import SnippetSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser # 添加对象 snippet = Snippet(code='print("hello, world")\n') snippet.save() # 序列化对象 serializer = SnippetSerializer(snippet) # serializer.data # 将数据序渲染为json content = JSONRenderer().render(serializer.data) # 反序列化 stream = io.BytesIO(content) data = JSONParser().parse(stream) serializer = SnippetSerializer(data=data) serializer.is_valid() serializer.validated_data serializer.save() # 获取对象集合,添加标记many=True serializer = SnippetSerializer(Snippet.objects.all(), many=True)
def get(self, request, format=None): snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data)
from snippets.models import Snippet from snippets.serializers import SnippetSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser snippet = Snippet(code='foo = "bar"\n') snippet.save() snippet = Snippet(code='print "hello world"\n') snippet.save() serializer = SnippetSerializer(snippet) print serializer.data content = JSONRenderer().render(serializer.data) print content
def get(self, request, pk, format=None): snippet = self.get_object(pk) serializer = SnippetSerializer(snippet) return Response(serializer.data)
def get(self, request, format=None): snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) data={"key":"v"} return Response(data,status.HTTP_200_OK)
def post(self, request, format=None): serializer = SnippetSerializer(data=request.DATA) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk, format=None): snippet = self.get_object(pk) serializer = SnippetSerializer(snippet, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def ShowSnippets(request): snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
def get(self, request, pk, format=None): serializer = SnippetSerializer(snippet) return Response(serializer.data)
def get(self, request, pk, format=None): snippets = self.get_object(pk) serializer = SnippetSerializer(snippets) return Response(serializer.data, status.HTTP_200_OK)
def get(self, request, format=None): snippets = Snippet.objects.all() # manay=True 用于querySet对象 serializer = SnippetSerializer(snippets, many=True) #3 Respone比django的response更强大 return Response(serializer.data)
def testSerializerAllSnippet(self): # 当我们输入参数many=True时, serializer还能序列化queryset: serializer = SnippetSerializer(Snippet.objects.all(), many=True) print serializer.data
def testSerializerSnippet(self): # 序列化其中一个实例: serializer = SnippetSerializer(self.snippet2) print serializer.data
def list(self, request): queryset = self.get_queryset() serializer = SnippetSerializer(queryset, many=True, context={'request': request}) return Response(serializer.data)
def get(self, request): query_dict = request.query_params.dict().copy() print "SnippetView: get",query_dict snippet_list = Snippet.objects.all() serializer = SnippetSerializer(snippet_list, many=True) return Response(serializer.data)