我目前正在使用此关系从模型Product
product = get_object_or_404(Product, pk=product_id)
images = product.image_set.all()
如果我开始删除并重新排列图像,则该集合不会正确更新并包含旧图像并且只是保持其原始顺序。
我认为解决方法是直接定义images
模型Image
,而不是Product
的一组。
这样做:
images = Image.objects.all()
返回每个产品的所有图片。有没有办法可以使用类似的方法,直接调用Image
模型中的图像,只定位活动产品的图像集?类似的东西:
images = Image.objects.all(product_id)
答案 0 :(得分:0)
你应该可以这样做:
Image.objects.filter(product__product_id=pk)
或者
Image.objects.filter(product__pk=product_id)
使用第一个例子,如果" pk"是一个变量和" product_id"是列名,反之亦然。另请注意product
中filter(product__pk=product_id)
之后的双下划线。