我有2个型号:
Item(models.Model):
name = models.CharField(max_length=255)
Image(models.Model):
item = models.ForeignKey(Item, related_name='item_images', on_delete=models.CASCADE)
...
在Django中执行反向FK查询(从Product到Image)prefetch_related。通常使用。
因为在我更喜欢执行RAW查询集的情况下,我有一个具有多个条件的更复杂的查询和一个横向联接。
最简单的情况:
SELECT *, i.image, FROM item AS t
INNER JOIN image AS i on t.id = i.item_id
考虑到这一点,一个项目可以有一个或多个图像,我该如何为每个项目检索图像。
我使用raw是因为我只希望每个产品(和特定文件类型)的前3张图像
在prefetch case
中,我可以遍历item.item_images
,但是在这种情况下?