Django REST序列化程序:创建对象而不保存

Bot*_*ond 6 python django django-rest-framework

我已经开始使用Django REST框架了.我想要做的是用一些JSON POST一个请求,从中创建一个Django Model对象,并使用该对象而不保存它.我的Django模型叫做SearchRequest.我有的是:

@api_view(['POST'])
def post_calculation(request):
    if request.method == 'POST':
        #JSON to serializer object
        serializer = SearchRequestSerializer(data=request.data)
        if (serializer.is_valid() == False):
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        mySearchRequestObject = serializer.save()
Run Code Online (Sandbox Code Playgroud)

这确实创建了一个SearchRequest对象,但是立即将其保存到数据库中.我需要它而不保存.

Mos*_*oye 8

将此方法添加到您的SearchRequestSerializer班级

def create(self):
    return SearchRequest(**self.validated_data)
Run Code Online (Sandbox Code Playgroud)

并在函数中调用它post_calculation而不是save像这样:

mySearchRequestObject = serializer.create()
Run Code Online (Sandbox Code Playgroud)