我有一个名为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)
OR
class Listing(models.Model):
...
class ListingPhoto(models.Model):
listing = models.ForeignKey(Listing, on_delete=models.CASCADE)
photo = = models.ImageField()
答案 0 :(得分:0)
嗯,使用20个图像字段肯定会更快,因为在检索这些图像时不需要连接。但这不是很灵活。您可以考虑使用ArrayField
或JSONField
两者都是灵活的,不需要加入。