【发布时间】:2022-01-03 21:27:08
【问题描述】:
我需要一些关于在 Django (DRF) 中进行查询的建议。
我正在尝试为产品创建一个查询集,其中每个产品都有一个字段“图像”,其中包含该产品的所有图像(文件)(使用 ProductImage 模型耦合),但我不知道如何添加领域。
下面是我的 ProductViewSet
class ProductViewSet(viewsets.ModelViewSet):
serializer_class = ProductSerializer
queryset = Product.objects.all()
def get_queryset(self):
queryset = Product.objects.all()
product_list = []
# iterate over all products
for product in queryset:
# find Image ids for product
image_ids = list(ProductImage.objects.filter(product=product.id).values_list('image', flat=True))
images = []
# iterate over images and add to images list
for image_id in image_ids:
image = list(File.objects.filter(id=image_id).all())
images.append(image)
# add images field to product
# product['images'] = images # "TypeError: 'Product' object does not support item assignment"
product.images = images # Doesn't do anything.
# add product to product list
product_list.append(product)
return product_list
我尝试执行以下操作来添加“图像”字段:
product['images'] = images
这会给出错误“TypeError: 'Product' object does not support item assignment”
product.images = images
什么都不做……
谁能指出我正确的方向?也欢迎任何有关如何以更好的方式进行此查询的提示!
【问题讨论】:
标签: python django django-rest-framework