Django 第一个元素由ForeignKey

Django 第一个元素由ForeignKey,django,Django,我有两种型号: Cars(models.Model): many-many fields Pictures(models.Model): car = models.ForeignKey(Cars, related_name='pictures') img-field, etc 如何在视图中获得汽车的第一张图片(这是一个图库,许多汽车,我需要预览第一张图片)?我使用: 在db中,我有一辆带有4张图片的汽车,视图返回4个具有相同id和不同图片的字典,但我需要一个id-一张图片。如何做到这一点?(

我有两种型号:

Cars(models.Model):
many-many fields

Pictures(models.Model):
car = models.ForeignKey(Cars, related_name='pictures')
img-field, etc
如何在视图中获得汽车的第一张图片(这是一个图库,许多汽车,我需要预览第一张图片)?我使用:

在db中,我有一辆带有4张图片的汽车,视图返回4个具有相同id和不同图片的字典,但我需要一个id-一张图片。如何做到这一点?(不是OneToOneField,因为有很多关于一辆车的照片)

谢谢

您可以:

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')

car=Cars.objects.all()。每个卡拉都有一张照片……好吧,我误解了你的问题。我将尝试找到+1的解决方案,但编辑它,
图片集
将不起作用,他已定义了相关的图片名。
无法将关键字“默认图片”解析到字段
。选项有:许多字段,但可能没有默认图片。values()仅适用于解析为列的字段/属性。使用cars=Car.objects.all()应该可以,从中可以引用cars[0]。default\u picture或Car.default\u picture在循环中我过去在使用查询集时多次使用此模式。
Car.default\u picture
-它写入
[]
,我尝试
Car.default\u picture\u image
car.default\u picture.pictures.image
,但它不起作用
cars = Car.objects.all().values('id', 'default_picture__image')