首页 > 解决方案 > 在原始查询集中循环

问题描述

我有 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 查询(从产品到图像)一个 prefetch_related。通常是使用。

因为在我更喜欢使用 RAW Queryset 的情况下,我有一个包含多个条件和横向连接的更复杂的查询。

最简单的情况:

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,但在这种情况下?

标签: djangodjango-queryset

解决方案


推荐阅读