您可能需要使用
message_type
作为GET参数。
class ASerializer(serializers.ModelSerializer):
class Meta:
model = A
fields = '__all__'
class BSerializer(serializers.ModelSerializer):
class Meta:
model = B
fields = '__all__'
class MyView(APIView):
def post(self, request, *args, **kwargs):
message_type = request.GET.get('message_type', None)
if message_type is not None:
if message_type == 'count':
serializer = ASerializer(data=request.data)
if message_type == 'person':
serializer = BSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(status=HTTP_200_OK)
return Response(status=status.HTTP_400_BAD_REQUEST)
请求看起来像
POST /api/view-path/?message_type=count or /api/view-path/?message_type=person
{
}