Как сделать POST-запрос с данными вложенной формы на POSTMAN?

Я тестирую POST запрос, в котором мне нужно, чтобы структура тела была примерно такой.

{
"new_status":"",
"insertions":[ 

{"seq":"1", "type":"heading", "value":"My sub heading 1" },
{"seq":"2", "type":"datetime", "value":"1-12-2022" }, 
{"seq":"3", "type":"pdf", "value":"A PDF FILE attached here " }

] }

Django backend

Редактирование 1: Добавление исходного кода

Мой исходный код представления на основе классов для этой конечной точки

class ListCreateContent(ListCreateAPIView):
    allowed_methods=['get','post',]
    permission_classes = [PostAboveLevelTwo]
   
    serializer_class = ContentSerializer


    def create(self, request, *args, **kwargs):
        data_from_post = request.data
        print("POST DATA RCVD IS ",data_from_post)
        data  = {
            "content_title":data_from_post['content_title'],
            "content":data_from_post['content'],
            "primary_attachment_pdf":data_from_post['primary_attachment_pdf'],
            "primary_attachment_label":data_from_post['primary_attachment_label'],
            "prebid_datetime":data_from_post['prebid_datetime'],


        }
        publish_in_news = data_from_post['publish_news']
        context=self.get_serializer_context()
        context["publish_in_news"] = publish_in_news
        context["insertions"] = data_from_post['insertions']
        serializer = self.get_serializer(data=data,context=context)
        try:
            serializer.is_valid(raise_exception=True)
        except Exception:
            print("Errors ins serializers",serializer.errors)
            raise
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)

    def perform_create(self, serializer):
        print("perform_create... TESTING SERIALIZER....",serializer)
        publish_in_news =serializer.context['publish_in_news']

        print("INSERTIONS CHECK",serializer.context['insertions'])

        instance = serializer.save()  
        if publish_in_news is not None :
            print("YES/NO is now here ....")
            if publish_in_news == "yes":        
                pass    
                # publishInNews(instance,"type_impinfo")
        else:
            raise  

На стороне сервера я получаю данные из POST следующим образом

'insertions[0]pdf': [<InMemoryUploadedFile: IN-APR-01.pdf (application/pdf)>]}>
Internal Server Error: /api/content

В последний объект я хочу вставить PDF-файл

.

Эти данные доходят до сервера, но не в том виде, который мне нужен. Как я могу отправить вложенный массив объектов через postman ?

Postman screenshot

Вернуться на верх