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
字段。有沒有更好的方法來實現呢?
但假如它不是一個補丁,是有沒有辦法來更新模型,並用單呼(單一視圖)的外鍵? –
您可以嘗試覆蓋更新 –