Django - 作为字段的图像与作为ForeignKey模型的图像之间的性能

问题描述 投票:1回答:1

我有一个名为Listing的模型。用户每个列表最多可以上传20张照片。

我的问题是:性能方面,为Listing创建20个字段更好,如果用户没有填充它们就留空,或创建一个ListingPhoto外键并为每个上传的图像创建1个ListingPhoto?


class Listing(models.Model):
    img_1 = models.ImageField(blank=True)
    img_2 = models.ImageField(blank=True)
    ...
    img_20 = models.ImageField(blank=True)

要么

class Listing(models.Model):
    ...

class ListingPhoto(models.Model):
    listing = models.ForeignKey(Listing, on_delete=models.CASCADE)
    photo = = models.ImageField()
django
1个回答
0
投票

好吧,使用20个图像字段肯定会更快,因为在检索这些图像时不需要连接。但这不是很灵活。你可以考虑使用ArrayFieldJSONField既灵活又不需要连接。

© www.soinside.com 2019 - 2024. All rights reserved.