当我发布文件数据时,它包含空值

问题描述

def image_saving_product(instance,filename):
    return '/'.join( ['product',str(instance.id),filename] )

models.py

class Image(models.Model):
   image_file = models.ImageField(blank=True,upload_to=image_saving_product,null=False)
   product = models.ForeignKey(ProductInfo,on_delete=models.PROTECT,default=None,blank=False)
   def __str__(self):
       return f'image id is {self.id} & this image is for {self.product.id},s product'
   def __unicode__(self):
       return f'image id is {self.id} & this image is for {self.product.id},s product'

serializers.py

class ImageSerializer(serializers.ModelSerializer):

class Meta:
    model = Image
    fields = '__all__'

views.py

class ProductimageViewSet(viewsets.ModelViewSet):
   authentication_classes = [TokenAuthentication]
   permission_classes = [IsAdminUser]
   queryset = Image.objects.all()
   serializer_class = ImageSerializer

enter image description here

这是我的代码,当我想发布图片时我可以发送发布请求,但它的值为空.. 如果您回答我的问题,我将不胜感激。

解决方法

您发送的是 Image NOT image_file,因此在 postman 中更改它并会正常工作。