Problem while creating multiple objects in nested serializer using multipart/form_data – can’t get image files in validated_data in serializer. Though in request.data.FILES they exist.
`class Product(models.Model):
parent_product = models.ForeignKey(ParentProduct, on_delete=models.CASCADE, related_name=’parent_product_products’)
… other fields
class ParentProduct(models.Model):
…some fields
class Image(models.Model):
product = models.ForeignKey(
“Product”,
on_delete=models.CASCADE,
related_name=”product_images”,
null=True,
)
image = models.ImageField(
max_length=255,
upload_to=image_path,
default=’default/product.png’,
verbose_name=”Фото”,
)
… other fields
serializer
class ProductCreateSerializer(serializers.ModelSerializer):
# images = serializers.ListField(
# child=serializers.ImageField(allow_empty_file=False, use_url=False), read_only=True, required=False
# )
images = ProductImageSerializer(many=True)
… other code
class ParentProductCreateSerializer(serializers.ModelSerializer):
variants = NewProductCreateSerializer(write_only=True, many=True)
... other code
def create(self, validated_data):
# here i want to create ParentProduct and some quantity of Product`
I want to create ParentProduct and multiple Products in create() of ParentProductCreateSerializer. It works fine when i use raw data without images, but when i use multipart/form_data it cant get images in validated_data. I tried different ways of getting iamges in serializer but without any success.
Structure of request:
{ parentproduct_fields variants: [ { id: 1, # ...other_fields: some values images: [image_1, image_2...] }, { id: 2, #...other_fields: some values images: [image_1, image_2...] }, #.... ] }
Vegzuz Vegzuz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.