0
说我有这些模型:模型相关的FileField Django的REST框架更新
class House(models.model):
address = models.CharField(max_length=100)
class HouseImage(models.Model):
image = models.ImageField(...)
house = models.ForeignKey(House, related_name='images')
而这个序列化:
class HouseImageSerializer(serializers.ModelSerializer):
class Meta:
model = HouseImage
fields = ('image',)
class HouseSerializer(serializers.ModelSerializer):
images = HouseImageSerializer(many=True, required=False)
class Meta:
model = House
fields = ('address', 'images',)
这种观点:
class HouseDetails(generics.RetrieveUpdateDestroyAPIView):
serializer_class = HouseSerializer
queryset = House.objects.all()
我正在从我的前端拨打电话。一个创建房子(并且它工作),第二个应该发送图像。因此,在第二个电话我想提出一个PATCH请求(与爱可信)和我request.data
是{'images': [InMemoryUploadedFile1, InMemoryUploadedFile2,...]}
问题:
上午我通过定义
HouseSerializer
的images
领域做正确的这么远?如果这是正确的,我还应该做什么?因为我知道我需要以某种方式将我的request.data
中的images
列表中的每个图像映射到HouseImage
中的image
字段。有没有更好的方法来实现呢?
但假如它不是一个补丁,是有没有办法来更新模型,并用单呼(单一视图)的外键? –
您可以尝试覆盖更新 –