0

私は2つのモデルを持っています:

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 つの写真を含む 1 台の車があり、ビューは同じ ID で異なる画像を持つ 4 つの辞書を返しますが、1 つの ID - 1 つの写真が必要です。これを行う方法?(1台の車の写真が多いので、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 に答える