Что нужно сделать, чтобы иметь возможность размещать в коде множественное содержимое в django rest framework?

Это мой serializers.py:

from rest_framework import serializers
from .models import product
 


class productSerializer(serializers.ModelSerializer):
    class Meta:
        model= product
        fields="__all__"
 

views.py:

from django.shortcuts import render
from .models import *
from rest_framework import viewsets
from .serializers import productSerializer
from rest_framework.parsers import JSONParser

class productviewset(viewsets.ModelViewSet):
    queryset=product.objects.all()
    serializer_class=productSerializer 
    
<
[
  {
     "Number": 1,
     "name": "1005001697316642",
     "image": "https://",
     "description": "fffffffff",
     "price": "USD 23.43",
     "buy": "https://"
  },
  {
     "Number": 2,
     "name": "1005002480978025",
     "image": "https://",
     "description": "dffdfdddddddddddddd",
     "price": "USD 0.89",
     "buy": "https://"
   }
 ]
Когда я хочу разместить несколько материалов, например, вот так:

Я получаю эту ошибку:

HTTP 400 Bad Request

Allow: GET, POST, HEAD, OPTIONS

.

Content-Type: application/json

Vary: Accept

{ "non_field_errors": [ "Неверные данные. Ожидали словарь, а получили список." ] }

что мне нужно сделать, чтобы иметь возможность публиковать несколько материалов?

Для разрешения множественных объектов необходимо переписать метод create, Поэтому мы перезапишем его в области видимости класса, который наследует ModelViewSet, как показано ниже:

def create(self, request):
serialized = MovieTicketSerializer(data=request.data, many=True)
if serialized.is_valid():
    serialized.save()
    return Response(serialized.data, status=status.HTTP_201_CREATED)
return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
Вернуться на верх