gpt4 book ai didi

django - 在 Django Rest Framework 中创建嵌套序列化器多个对象?

转载 作者:行者123 更新时间:2023-12-01 05:55:42 28 4
gpt4 key购买 nike

我正在寻找一个在 Django Rest Framework 中创建嵌套串行多对象的解决方案?

我有 2 个模型:产品和照片(照片是存储产品所有照片的模型)。我创建的这个序列化程序是为了创建一个产品并上传这个产品的所有图像:

class PhotoUpdateSerializer(ModelSerializer):
class Meta:
model = Photo
fields = [
'image'
]

class ProductCreateSerializer(ModelSerializer):
photos = ProductPhotosSerializer(many=True, write_only=True, required=False)
class Meta:
model = Product
fields = [
'id',
'user',
'name',
'photos'
]

我的 View 集:
class ProductCreateAPIView(ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductCreateSerializer
def create_product(self, request):
newProduct = Product.objects.create(
user = User.objects.get(id=request.POST.get('user')),
name = request.POST.get('name', '')
)
newPhotos = Photo.objects.create(
product = newProduct.id,
image = request.POST.get('photos.image', '')
)
serializer = ProductCreateSerializer(newProduct, context={"request": request})
return Response(serializer.data, status=200)

错误: Request.POST has no photos.image
当我打印(request.POST)时,像这张图片一样使用 postman :

image of the web interface

它打印: {u'user': [u'2']}> .没有照片发布?

最佳答案

试试:image = request.data.get('image')
通常我会做的是在源头对图像进行 base 64 编码,然后在 View 中对其进行解码。

关于django - 在 Django Rest Framework 中创建嵌套序列化器多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49687149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com