0

我有两个模型:

Cars(models.Model):
many-many fields

Pictures(models.Model):
car = models.ForeignKey(Cars, related_name='pictures')
img-field, etc

如何查看汽车的第一张图片(它是一个画廊,很多汽车,我需要第一张图片进行预览)?我用:

car = Cars.objects.all()[:6].values('id', 'pictures__image')

在 db 中,我有一辆带有 4 张图片的汽车,视图返回 4 个具有相同 ID 和不同图像的字典,但我需要一个 ID - 一张图片。这该怎么做?(不是OneToOneField,因为一辆车的图片很多)。

谢谢

4

1 回答 1

1

你可以这样做:

class Car(models.Model):
    @property
    def default_picture(self):
        try:
            return self.pictures.all()[:1][0]
        except IndexError:
            return None

然后,当您运行汽车查询时,您可以执行以下操作:

cars = Car.objects.all().values('id', 'default_picture__image')
于 2013-03-07T18:29:27.010 回答