Загрузите несколько фотографий для одного товара в магазине
Я загружаю сайт магазина с помощью Django. Мне нужно загрузить 4 фотографии для одного товара, но я могу загрузить только одну фотографию. Вы можете мне помочь?
мои модели в продуктах:
class Product(models.Model):
Name = models.CharField(max_length=60)
Descriptions = models.TextField()
Price = models.IntegerField()
Image = models.ImageField(upload_to='product')
category = models.ManyToManyField(Category, null=True, blank=True)
Discount = models.SmallIntegerField(null=True, blank=True)
Size = models.ManyToManyField(ProductSize, related_name='product')
Color = models.ManyToManyField(ProductColor, related_name='product', blank=True)
Property = models.ManyToManyField(ProductProperty, related_name='product')
Мои взгляды на продукты:
class ProductDetail(DetailView):
template_name = 'product/single-product.html'
model = Product
Вариант - 1: Используйте ForeignKey для загрузки нескольких изображений
class Images(models.Model):
post = models.ForeignKey(Product, default=None)
image = models.ImageField(upload_to=get_image_filename,
verbose_name='Image')
Вариант - 2: без поля изображения
Это предпочтительный способ - я применил его в своем проекте
1. Add image at a specific location (at filesystem or AWS S3)
2. Like: prod_images/product_id/image1.jpg, prod_images/product_id/image2.jpg ...
3. In your views you can respond back with above images links