在django中查询产品的图像

Querying the images of an product in django

任何人都可以帮我得到一个产品的图片吗?

我有这两个型号:

class Product(models.Model):
    name=models.CharField(max_length=200,null=True)
    price=models.DecimalField(max_digits=7,decimal_places=2)
    description=models.TextField(blank=True,null=True)
    image=models.ImageField(blank=True,null=True,default="images/default.jpg")
    size=models.ManyToManyField(Size)
    digital=models.BooleanField(default=False,null=True,blank=True)
    categories = models.ForeignKey(Category,on_delete=models.SET_NULL,blank=True, null=True) 
    objects = models.Manager() 

class Images(models.Model):
    product=models.ForeignKey(Product,on_delete=models.SET_NULL,null=True,blank=True)
    title=models.CharField(max_length=200,null=True,blank=True)
    image=models.ImageField(blank=True,null=True)

    def __str__(self):
        return str(self.title) if self.title else 'image'

在我的 views.py 中,我使用此查询来获取特定产品的图像,但我获取了所有产品的所有图像

query = Images.objects.all().query
    query.group_by=['product']
    img=QuerySet(query=query)

您可以简单地获取单个产品的 Product 个项目:

myproduct<b>.images_set.all()</b>

其中 myproduct 是一个 Product 对象。

如果您只有产品的主键,您可以过滤:

Images.objects.filter(<b>product_id=<i>id_of_product</i></b>)

Note: normally a Django model is given a singular name, so Image instead of Images.