Search code examples
djangodjango-modelsdjango-rest-frameworkdjango-viewsdjango-serializer

How to send multiple json objects to a django model serializer


This is my modelserializer

class Testmasterserializer(serializers.ModelSerializer):
    class Meta:
       model = Dime3d_testmaster
       fields = ('visitId','testId','testType','status')

I want to send multiple json object how can I send

[{
    "visitId": "wsTp6anrDBQE",
    "testId": "RVeaJn6n",
    "testType": "windlass",
    "status": "fine"
},
{
    "visitId": "wsTp6anrDBQE",
    "testId": "Sq3LxKsNDP",
    "testType": "windlass",
    "status": "fine"
}
]

Like this. How can I do it. Is there anyway? I dont want to use nested serializer as in that one params is added as like this

["data" :{
    "visitId": "wsTp6anrDBQE",
    "testId": "RVeaJn6n",
    "testType": "windlass",
    "status": "fine"
},
{
    "visitId": "wsTp6anrDBQE",
    "testId": "Sq3LxKsNDP",
    "testType": "windlass",
    "status": "fine"
}
]

I dont want this


Solution

  • I got the solution just put

    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data, many=isinstance(request.data,list))
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
    

    in views.py under your serializerview