React и Django DRF

Серверная часть работает, когда я тестирую ее с помощью http-файла. и непосредственно в конечной точке.

POST http://localhost:8000/api/products/ HTTP/1.1
Content-Type: application/json
Authorization: Bearer my_access_token


{
    "name": "test",
    "price": 23,
    "stock": 3,
    "description": "test description",
    "in_sale": true,
    "sale_price": 21,
    "color": [
        {
            "name":"black",
            "color_code": "#000000"
        }
    ]
}

Однако, когда я заполняю формы, созданные в react jsx, и отправляю их в API, я получаю ключевую ошибку, когда оставляю Color Nested Serializer активным, когда я удаляю его, я получаю неверный запрос.

Вот мой serializer.py

class ProductCreateSerializer(serializers.ModelSerializer):
     class ColorCreateSerializer(serializers.ModelSerializer):
         class Meta:
             model = Color
             fields = ('name', 'color_code')
            
    # color = ColorCreateSerializer(many=True, required=False)

    def update(self, instance, validated_data):
        # color_data = validated_data.pop("color")

        with transaction.atomic():
            instance = super().update(instance, validated_data)
             if color_data is not None:
                 instance.color.all().delete()
                 for item in color_data:
                     Color.objects.create(product=instance, **item)
        return instance

    def create(self, validated_data):
        color_data = validated_data.pop('color')

        with transaction.atomic():
            product = Product.objects.create(**validated_data)
             for item in color_data:
                 Color.objects.create(product=product, **item)
        return product

    class Meta:
        model = Product
        fields = (
            'id',
            'name',
            'description',
            'price',
            'stock',
            'in_sale',
            'sale_price',
            'image',
            'color'

        )
        extra_kwargs = {
            'id': {'read_only': True}
        }

Вот мой views.py

class ProductView(viewsets.ModelViewSet):
    queryset = Product.objects.all()
    serializer_class = ProductSerializer
    permission_classes = [AllowAny]

    def list(self, request, *args, **kwargs):
        return super().list(request, *args, **kwargs)

    def perform_create(self, serializer):
        product = serializer.save(user=self.request.user)

    def get_serializer_class(self):
        if self.action == 'create' or self.action == 'update':
            return ProductCreateSerializer
        return super().get_serializer_class()

И, наконец, мой файл createProduct.jsx

Что здесь не так??? Если конечные точки работают, это должна быть ошибка интерфейса, верно? Я новичок в React. Пробую использовать FullStack. Пожалуйста, помогите!

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