问题描述
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
这是我的代码,当我想发布图片时我可以发送发布请求,但它的值为空.. 如果您回答我的问题,我将不胜感激。
解决方法
您发送的是 Image
NOT image_file
,因此在 postman 中更改它并会正常工作。