我想将django rest framework
用于没有数据库模型的特定API。
我写了以下代码:
from .serializers import GetSMSSerializer
from rest_framework import viewsets, status
from rest_framework.response import Response
class UserViewSet(viewsets.GenericViewSet):
serializer_class = GetSMSSerializer
def create(self, request):
serializer = GetSMSSerializer(data=request.DATA)
if serializer.is_valid():
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我想了解为什么必须定义serializer_class
,因为django rest framework
似乎没有使用此信息。
如果我删除serializer_class
,则会出现以下错误:
UserViewSet'应该包含' serializer_class'属性,或 使用'模型'属性作为自动生成的快捷方式 序列化器类。
如果我删除create
方法中的序列化程序部分,则不会验证post
。
有没有办法自动使用serialize_class
信息?