Django Rest framework | TypeError: Поле 'id' ожидало число, но получило OrderedDict()

Я пытаюсь загрузить товар с несколькими изображениями и указать категорию или автора товара. но получаю ошибку TypeError: Поле 'id' ожидало число, но получило OrderedDict().

Models.py##

class Product(models.Model):
name = models.CharField(max_length=100, unique=True)
description = models.TextField(max_length=5000, blank=True, null=True)
price = models.CharField(max_length=100, )
discount = models.CharField(max_length=100, )
length = models.CharField(max_length=100)
width = models.CharField(max_length=100)
depth = models.CharField(max_length=100)
category = models.ForeignKey(
    Category, null=True, blank=True, on_delete=models.CASCADE)
author = models.ForeignKey(
    User, editable=False, null=True, blank=True, on_delete=models.CASCADE)
status = models.CharField(max_length=1, choices=statuses, default='1')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

def __str__(self):
    return self.name

class Meta:
    db_table = 'products'
    verbose_name = 'Product'
    verbose_name_plural = 'Products'

Serializers.py

class ProductSerializer(serializers.ModelSerializer):
author = AuthorSerializer(many=False,)
category = ProductCategorySerializer(many=False,)
images = ProductImageSerializer(many=True, read_only=True)

class Meta:
    model = Product
    fields = ('id', 'name', 'description', 'price', 'discount',
              'length', 'width', 'depth', 'status', 'images', 'category', 'author', 'created_at', 'updated_at')

def create(self, validated_data):
    name = validated_data.get("name")
    description = validated_data.get("description")
    price = validated_data.get("price")
    discount = validated_data.get("discount")
    length = validated_data.get("length")
    width = validated_data.get("width")
    depth = validated_data.get("depth")
    status = validated_data.get("status")
    category = validated_data.get('category')
    # category = validated_data.pop('category')
    author = validated_data.get("author")
    # author = validated_data.pop('author')


    imgs = self.context.get('view').request.FILES
    product = Product.objects.create(
        name=name,
        description=description,
        price=price,
        discount=discount,
        length=length,
        width=width,
        depth=depth,
        status=status,
        category_id=category,
        author_id=author
    )
    for image in imgs.values():
        ProductImage.objects.create(image=image, product=product)
    return product

Views.py

class ProductApi(viewsets.ModelViewSet):
queryset = Product.objects.all().order_by('id')
serializer_class = ProductSerializer
parser_classes = [MultiPartParser]
filter_backends = [DjangoFilterBackend, OrderingFilter]
filterset_fields = ["id", "name", "description",
                    "length", "width", "depth", "status"]
pagination_class = pagination
authentication_classes = authclass
permission_classes = [IsAdminUser, IsAuthenticated]

Urls.py

router.register("category", CategoryApi, basename="AdminCategoryApi")
router.register("product", ProductApi, basename="AdminProductApi")

Index.js

Вот фактический код. Не получаю требуемого результата. Помогите мне разобраться в проблеме.

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